Trace Spaces: An Efficient New Technique for State-Space Reduction

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.

[1]  Elias C. Stavropoulos,et al.  Evaluation of an Algorithm for the Transversal Hypergraph Problem , 1999, WAE.

[2]  M. Grandis Directed Algebraic Topology: Models of Non-Reversible Worlds , 2009 .

[3]  Eric Goubault,et al.  Formal Relationships Between Geometrical and Classical Models for Concurrency , 2010, GETCO.

[4]  Pascal Lienhardt,et al.  Simploidals sets: Definitions, operations and comparison with simplicial sets , 2009, Discret. Appl. Math..

[5]  M. W. Shields Concurrent Machines , 1985, Comput. J..

[6]  Lisbeth Fajstrup,et al.  Infinitely Running Concurrent Processes with Loops from a Geometric Viewpoint , 2001, Electron. Notes Theor. Comput. Sci..

[7]  Gerard J. Holzmann,et al.  The SPIN Model Checker , 2003 .

[8]  Antti Valmari,et al.  A stubborn attack on state explosion , 1990, Formal Methods Syst. Des..

[9]  Jeremy Gunawardena,et al.  Homotopy and Concurrency , 2001, Bull. EATCS.

[10]  M. Raussen Simplicial models of trace spaces , 2010 .

[11]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[12]  Pierre Wolper,et al.  Using partial orders for the efficient verification of deadlock freedom and safety properties , 1991, Formal Methods Syst. Des..

[13]  Edsger W. Dijkstra,et al.  Hierarchical ordering of sequential processes , 1971, Acta Informatica.

[14]  Eric Goubault,et al.  Components of the Fundamental Category II , 2007, Appl. Categorical Struct..

[15]  Patrick Cousot,et al.  Abstract interpretation based program testing , 2000 .

[16]  Eric Goubault,et al.  Rigorous Evidence of Freedom from Concurrency Faults in Industrial Control Software , 2011, SAFECOMP.

[17]  C. A. R. Hoare The structure of an operating system , 1975, Language Hierarchies and Interfaces.

[18]  Wojciech Zielonka,et al.  The Book of Traces , 1995 .

[19]  Lisbeth Fajstrup Trace spaces of directed tori with rectangular holes , 2014, Math. Struct. Comput. Sci..

[20]  Dmitry N. Kozlov,et al.  Combinatorial Algebraic Topology , 2007, Algorithms and computation in mathematics.

[21]  Patrick Cousot,et al.  Temporal abstract interpretation , 2000, POPL '00.

[22]  Eric Goubault,et al.  Components of the Fundamental Category , 2004, Appl. Categorical Struct..

[23]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[24]  Eric Goubault,et al.  Detecting Deadlocks in Concurrent Systems , 1996, CONCUR.

[25]  Eric Goubault,et al.  A Practical Application of Geometric Semantics to Static Analysis of Concurrent Programs , 2005, CONCUR.

[26]  Marek Antoni Bednarczyk,et al.  Categories of asynchronous systems , 1987 .

[27]  Eric Goubault,et al.  Algebraic topology and concurrency , 2006, Theor. Comput. Sci..

[28]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[29]  Stephan Merz,et al.  Model Checking , 2000 .

[30]  H. Coxeter,et al.  Generators and relations for discrete groups , 1957 .