Dynamic Reductions for Model Checking Concurrent Software

Symbolic model checking of parallel programs stands and falls with effective methods of dealing with the explosion of interleavings. We propose a dynamic reduction technique to avoid unnecessary interleavings. By extending Lipton’s original work with a notion of bisimilarity, we accommodate dynamic transactions, and thereby reduce dependence on the accuracy of static analysis, which is a severe bottleneck in other reduction techniques.

[1]  Cormac Flanagan,et al.  Transactions for Software Model Checking , 2003, SoftMC@CAV.

[2]  Alberto Griggio,et al.  IC3 Modulo Theories via Implicit Predicate Abstraction , 2013, TACAS.

[3]  Eran Yahav,et al.  Cartesian Partial-Order Reduction , 2007, SPIN.

[4]  Patrice Godefroid,et al.  Dynamic partial-order reduction for model checking software , 2005, POPL '05.

[5]  Antti Valmari,et al.  Eliminating Redundant Interleavings During Concurrent Program Verification , 1989, PARLE.

[6]  Thomas W. Doeppner,et al.  Parallel program correctness through refinement , 1977, POPL.

[7]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[8]  Leslie Lamport,et al.  Reduction in TLA , 1998, CONCUR.

[9]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[10]  Ofer Strichman,et al.  Proof-guided underapproximation-widening for multi-process systems , 2005, POPL '05.

[11]  Matthew B. Dwyer,et al.  Exploiting Object Escape and Locking Information in Partial-Order Reductions for Concurrent Object-Oriented Programs , 2004, Formal Methods Syst. Des..

[12]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[13]  Rupak Majumdar,et al.  Software model checking , 2009, CSUR.

[14]  Doron A. Peled,et al.  All from One, One for All: on Model Checking Using Representatives , 1993, CAV.

[15]  Vineet Kahlon,et al.  Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions , 2006, CAV.

[16]  Georg Weissenbacher,et al.  Counterexample to Induction-Guided Abstraction-Refinement (CTIGAR) , 2014, CAV.

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  E. Pascal Gribomont,et al.  Atomicity Refinement and Trace Reduction Theorems , 1996, CAV.

[19]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State-Space Exploration , 2001, Formal Methods Syst. Des..

[20]  Dirk Beyer,et al.  Reliable and Reproducible Competition Results with BenchExec and Witnesses (Report on SV-COMP 2016) , 2016, TACAS.

[21]  Serdar Tasiran,et al.  A calculus of atomic actions , 2009, POPL '09.

[22]  Kenneth L. McMillan,et al.  Lazy Abstraction with Interpolants , 2006, CAV.

[23]  Aaron R. Bradley,et al.  SAT-Based Model Checking without Unrolling , 2011, VMCAI.

[24]  Doron A. Peled,et al.  Static Partial Order Reduction , 1998, TACAS.

[25]  Dirk Beyer,et al.  Software model checking via large-block encoding , 2009, 2009 Formal Methods in Computer-Aided Design.

[26]  Elwood S. Buffa,et al.  Graph Theory with Applications , 1977 .

[27]  Ganesh Gopalakrishnan,et al.  An Efficient Partial Order Reduction Algorithm with an Alternative Proviso Implementation , 2002, Formal Methods Syst. Des..

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

[29]  Scott D. Stoller,et al.  Optimistic Synchronization-Based State-Space Reduction , 2003, TACAS.

[30]  Thomas A. Henzinger,et al.  Configurable Software Verification: Concretizing the Convergence of Model Checking and Program Analysis , 2007, CAV.

[31]  Leslie Lamport,et al.  Pretending Atomicity , 1989 .

[32]  Chao Wang,et al.  Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique , 2009, CAV.

[33]  Andreas Wilhelm,et al.  Reduction for compositional verification of multi-threaded programs , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[34]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State Space Exploration , 1997, CAV.

[35]  Cormac Flanagan,et al.  A type and effect system for atomicity , 2003, PLDI.

[36]  Alfons Laarman,et al.  Boosting multi-core reachability performance with shared hash tables , 2010, Formal Methods in Computer Aided Design.

[37]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[38]  Georg Weissenbacher,et al.  Incremental bounded software model checking , 2014, SPIN.

[40]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[41]  Dimitar Dimitrov,et al.  Commutativity race detection , 2014, PLDI.

[42]  Chao Wang,et al.  Peephole Partial Order Reduction , 2008, TACAS.