A static analysis tool for detecting deadlocks and potential race conditions on shared variables in concurrent programs is presented. It is based on Petri Net modeling and reachability analysis, where a concurrent program is modeled as an augmented Petri net and a reachability graph is then derived and analyzed for desired information. Place-Transition subnets representing programming language constructs are described. Transitions in these subnets are augmented with sets of shared variables that occur in sections of the program, called concurrency zones, related to the transitions. The tool consists of four modules. The modeling module employs the augmented subnets as building blocks in translating only the synchronization-related statement...
The method of detecting deadlocks in the distributed systems at the design stage of the system is co...
AbstractRecent research has been conducted on representing Process Algebra programs by safe Petri ne...
Deadlock analysis of object-oriented programs that dynamically create threads and objects is complex...
A static analysis approach is proposed for automated detection of deadlocks in a common class of par...
We propose an approach for detecting deadlocks and race conditions in Ada tasking software. It is ba...
Parallel and distributed programming languages often include explicit synchronization primitives, su...
The introduction of concurrency into programs has added to the complexity of the software design pro...
A race condition is a phenomenon wherein the output of an electronic device or computer process (thr...
Concurrent programming is used in all large and complex computer systems. However, concurrency error...
Spurious results are an inherent problem of most static analysis methods. These methods, in an effor...
In general, we would like any static analysis method to be conservative; for a given property, the a...
International audienceDeadlocks are a common problem in programs with lock-based concurrency and are...
In the past decade, computer hardware has undergone a true revolution, moving from uniprocessor arch...
Using current software engineering technology, the robustness required for safety critical software ...
Concurrent software executes multiple threads or processes to achieve high performance. However, con...
The method of detecting deadlocks in the distributed systems at the design stage of the system is co...
AbstractRecent research has been conducted on representing Process Algebra programs by safe Petri ne...
Deadlock analysis of object-oriented programs that dynamically create threads and objects is complex...
A static analysis approach is proposed for automated detection of deadlocks in a common class of par...
We propose an approach for detecting deadlocks and race conditions in Ada tasking software. It is ba...
Parallel and distributed programming languages often include explicit synchronization primitives, su...
The introduction of concurrency into programs has added to the complexity of the software design pro...
A race condition is a phenomenon wherein the output of an electronic device or computer process (thr...
Concurrent programming is used in all large and complex computer systems. However, concurrency error...
Spurious results are an inherent problem of most static analysis methods. These methods, in an effor...
In general, we would like any static analysis method to be conservative; for a given property, the a...
International audienceDeadlocks are a common problem in programs with lock-based concurrency and are...
In the past decade, computer hardware has undergone a true revolution, moving from uniprocessor arch...
Using current software engineering technology, the robustness required for safety critical software ...
Concurrent software executes multiple threads or processes to achieve high performance. However, con...
The method of detecting deadlocks in the distributed systems at the design stage of the system is co...
AbstractRecent research has been conducted on representing Process Algebra programs by safe Petri ne...
Deadlock analysis of object-oriented programs that dynamically create threads and objects is complex...