Syntactic Regions for Concurrent Programs

In order to gain a better understanding of the state space of programs, with the aim of making their verification more tractable, models based on directed topological spaces have been introduced, allowing to take in account equivalence between execution traces, as well as translate features of the execution (such as the presence of deadlocks) into geometrical situations. In this context, many algorithms were introduced, based on a description of the geometrical models as regions consisting of unions of rectangles. We explain here that these constructions can actually be performed directly on the syntax of programs, thus resulting in representations which are more natural and easier to implement. In order to do so, we start from the observation that positions in a program can be described as partial explorations of the program. The operational semantics induces a partial order on positions, and regions can be defined as formal unions of intervals in the resulting poset. We then study the structure of such regions and show that, under reasonable conditions, they form a boolean algebra and admit a representation in normal form (which corresponds to covering a space by maximal intervals), thus supporting the constructions needed for the purpose of studying programs. All the operations involved here are given explicit algorithmic descriptions.

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

[2]  Emmanuel Haucourt,et al.  The geometry of conservative programs , 2017, Mathematical Structures in Computer Science.

[3]  Eric Goubault,et al.  A Geometric View of Partial Order Reduction , 2013, MFPS.

[4]  Cliff B. Jones,et al.  A Structural Proof of the Soundness of Rely/guarantee Rules , 2007, J. Log. Comput..

[5]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[6]  Eric Goubault,et al.  Trace Spaces: An Efficient New Technique for State-Space Reduction , 2012, ESOP.

[7]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[8]  Eric Goubault,et al.  SOME GEOMETRIC PERSPECTIVES IN CONCURRENCY THEORY , 2003 .

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

[10]  Eric Goubault,et al.  Directed Algebraic Topology and Concurrency , 2016, Cambridge International Law Journal.

[11]  Susan Owicki,et al.  An axiomatic proof technique for parallel programs I , 1976, Acta Informatica.

[12]  Peter W. O'Hearn,et al.  Resources, Concurrency and Local Reasoning , 2004, CONCUR.

[13]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

[14]  Jean-Yves Girard Locus Solum: From the Rules of Logic to the Logic of Rules , 2001, CSL.