Model checking
The structure of the “THE”-multiprogramming system
Communications of the ACM
The Book of Traces
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Detecting Deadlocks in Concurrent Systems
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
Evaluation of an Algorithm for the Transversal Hypergraph Problem
WAE '99 Proceedings of the 3rd International Workshop on Algorithm Engineering
A Stubborn Attack On State Explosion
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Using Partial Orders for the Efficient Verification of Deadlock Freedom and Safety Properties
CAV '91 Proceedings of the 3rd International Workshop on Computer Aided Verification
A practical application of geometric semantics to static analysis of concurrent programs
CONCUR 2005 - Concurrency Theory
Algebraic topology and concurrency
Theoretical Computer Science - Clifford lectures and the mathematical foundations of programming semantics
Simploidals sets: Definitions, operations and comparison with simplicial sets
Discrete Applied Mathematics
Rigorous evidence of freedom from concurrency faults in industrial control software
SAFECOMP'11 Proceedings of the 30th international conference on Computer safety, reliability, and security
A Geometric View of Partial Order Reduction
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
State-space reduction techniques, used primarily in model-checkers, all rely on the idea that some actions are independent, hence could be taken in any (respective) order while put in parallel, without changing the semantics. It is thus not necessary to consider all execution paths in the interleaving semantics of a concurrent program, but rather some equivalence classes. The purpose of this paper is to describe a new algorithm to compute such equivalence classes, and a representative per class, which is based on ideas originating in algebraic topology. We introduce a geometric semantics of concurrent languages, where programs are interpreted as directed topological spaces, and study its properties in order to devise an algorithm for computing dihomotopy classes of execution paths. In particular, our algorithm is able to compute a control-flow graph for concurrent programs, possibly containing loops, which is "as reduced as possible" in the sense that it generates traces modulo equivalence. A preliminary implementation was achieved, showing promising results towards efficient methods to analyze concurrent programs, with very promising results compared to partial-order reduction techniques.