Optimistic synchronization-based state-space reduction

Reductions that aggregate fine-grained transitions into coarser transitions can significantly reduce the cost of automated verification, by reducing the size of the state space. We propose a reduction that can exploit common synchronization disciplines, such as the use of mutual exclusion for accesses to shared data structures. Exploiting them using traditional reduction theorems requires checking that the discipline is followed in the original (i.e., unreduced) system. That check can be prohibitively expensive. This paper presents a reduction that instead requires checking whether the discipline is followed in the reduced system. This check may be much cheaper, because the reachable state space is smaller.

[1]  Scott D. Stoller,et al.  Model-checking multi-threaded distributed Java programs , 2000, International Journal on Software Tools for Technology Transfer.

[2]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[3]  Thomas R. Gross,et al.  Object race detection , 2001, OOPSLA '01.

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

[5]  Patrice Godefroid,et al.  Model checking for programming languages using VeriSoft , 1997, POPL '97.

[6]  Klaus Havelund,et al.  Model checking JAVA programs using JAVA PathFinder , 2000, International Journal on Software Tools for Technology Transfer.

[7]  Martin C. Rinard,et al.  A parameterized type system for race-free Java programs , 2001, OOPSLA '01.

[8]  Sanjit A. Seshia,et al.  A Modular Checker for Multithreaded Programs , 2002, CAV.

[9]  Martin C. Rinard,et al.  Compositional pointer and escape analysis for Java programs , 1999, OOPSLA '99.

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

[11]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[12]  Stephen N. Freund,et al.  Thread-Modular Verification for Shared-Memory Programs , 2002, ESOP.

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

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

[15]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[16]  Antti Valmari,et al.  Stubborn set methods for process algebras , 1997, Partial Order Methods in Verification.

[17]  Michael Burrows,et al.  Eraser: a dynamic data race detector for multithreaded programs , 1997, TOCS.

[18]  Stephen N. Freund,et al.  Detecting race conditions in large programs , 2001, PASTE '01.

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

[20]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

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

[22]  Ernie Cohen,et al.  Separation and Reduction , 2000, MPC.

[23]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.