Automatic Synthesis of Assumptions for Compositional Model Checking

We present a new technique for automatically synthesizing the assumptions needed in compositional model checking. The compositional approach reduces the proof that a property is satisfied by the parallel composition of two processes to the simpler argument that the property is guaranteed by one process provided that the other process satisfies an assumption A. Finding A manually is a difficult task that requires detailed insight into how the processes cooperate to satisfy the property. Previous methods to construct A automatically were based on the learning algorithm L*, which represents A as a deterministic automaton and therefore has exponential worst-case complexity. Our new technique instead represents A as an equivalence relation on the states, which allows for a quasi-linear construction. The model checker can therefore apply compositional reasoning without risking an exponential penalty for computing A.

[1]  Radha Jagadeesan,et al.  Abstraction-Based Model Checking Using Modal Transition Systems , 2001, CONCUR.

[2]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[3]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[4]  Krishan K. Sabnani,et al.  An algorithmic procedure for checking safety properties of protocols , 1989, IEEE Trans. Commun..

[5]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[6]  Howard Barringer,et al.  Assumption generation for software component verification , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[7]  Kuo-Chung Tai,et al.  An incremental approach to reachability analysis of distributed programs , 1993, Proceedings of 1993 IEEE 7th International Workshop on Software Specification and Design.

[8]  Kedar S. Namjoshi,et al.  On the completeness of compositional reasoning , 2000 .

[9]  Rajeev Alur,et al.  Symbolic Compositional Verification by Learning Assumptions , 2005, CAV.

[10]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[11]  Shing-Chi Cheung,et al.  Context constraints for compositional reachability analysis , 1996, TSEM.

[12]  Radha Jagadeesan,et al.  Three-valued abstractions of games: uncertainty, but with precision , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[13]  Kedar S. Namjoshi,et al.  On the Competeness of Compositional Reasoning , 2000, CAV.

[14]  Joseph Sifakis,et al.  Automatic Verification Methods for Finite State Systems , 1989, Lecture Notes in Computer Science.

[15]  Pavol Cerný,et al.  Synthesis of interface specifications for Java classes , 2005, POPL '05.

[16]  Thomas A. Henzinger,et al.  You Assume, We Guarantee: Methodology and Case Studies , 1998, CAV.

[17]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[18]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

[19]  Radha Jagadeesan,et al.  Modal Transition Systems: A Foundation for Three-Valued Program Analysis , 2001, ESOP.

[20]  Kim G. Larsen,et al.  Modal Specifications , 1989, Automatic Verification Methods for Finite State Systems.

[21]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

[22]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[23]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

[24]  Bernhard Steffen,et al.  Compositional Minimization of Finite State Systems , 1990, CAV.

[25]  Willem P. de Roever,et al.  The rely-guarantee method for verifying shared variable concurrent programs , 1997, Formal Aspects of Computing.

[26]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[27]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .