Abstract
This paper discusses our initial experience with introducing automated assume-guarantee verification based on learning in the SPIN tool. We believe that compositional verification techniques such as assume-guarantee reasoning could complement the state-reduction techniques that SPIN already supports, thus increasing the size of systems that SPIN can handle. We present a “light-weight” approach to evaluating the benefits of learning-based assume-guarantee reasoning in the context of SPIN: we turn our previous implementation of learning into a main program that externally invokes SPIN to provide the model checking-related answers. Despite its performance overheads (which mandate a future implementation within SPIN itself), this approach provides accurate information about the savings in memory. We have experimented with several versions of learning-based assume guarantee reasoning, including a novel heuristic introduced here for generating component assumptions when their environment is unavailable. We illustrate the benefits of learning-based assume-guarantee reasoning in SPIN through the example of a resource arbiter for a spacecraft.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alur, R., Cerny, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for java classes. In: Proc. of 32nd POPL, pp. 98–109 (2005)
Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S., Rajamani, S.K., Tasiran, S.: MOCHA: Modularity in model checking. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 521–525. Springer, Heidelberg (1998)
Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548–562. Springer, Heidelberg (2005)
Barringer, H., Giannakopoulou, D., Păsăreanu, C.S.: Proof rules for automated compositional verification through learning. In: Int. Workshop on Specification and Verification of Component-Based Sys. (September 2003)
Chaki, S., Clarke, E., Giannakopoulou, D., Pasareanu, C.: Abstraction and assume-guarantee reasoning for automated software verification. Technical report, RIACS (2004)
Chaki, S., Clarke, E.M., Sinha, N., Thati, P.: Automated assume-guarantee reasoning for simulation conformance. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 534–547. Springer, Heidelberg (2005)
Cheung, S.C., Kramer, J.: Context constraints for compositional reachability analysis. ACM Trans. on Soft. Eng. and Methodology 5(4), 334–377 (1996)
Clarke, E.M., Long, D.E., McMillan, K.L.: Compositional model checking. In: Proc. of the Fourth Symp. on Logic in Comp. Sci, pp. 353–362 (1989)
Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)
Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Zheng, H.: Bandera: Extracting finite-state models from Java source code. In: Proc. of the 22nd Int. Conf. on Soft. Eng. (June 2000)
Flanagan, C., Freund, S.N., Qadeer, S.: Thread-modular verification for sharedmemory programs. In: Proc. of the Eleventh European Symp. on Prog., April 2002, pp. 262–277 (2002)
Giannakopoulou, D., Păsăreanu, C.S.: Learning-based assume-guarantee verification (Tool paper). In: Godefroid, P. (ed.) SPIN 2005. LNCS, vol. 3639, pp. 282–287. Springer, Heidelberg (2005)
Giannakopoulou, D., Păsăreanu, C.S., Barringer, H.: Assumption generation for software component verification. In: Proc. of the Seventeenth IEEE Int. Conf. on Auto. Soft. Eng. (September 2002)
Giannakopoulou, D., Păsăreanu, C.S., Cobleigh, J.M.: Assume-guarantee verification of source code with design-level assumptions. In: Int. Conf. on Soft. Eng., May 2004, pp. 211–220 (2004)
Groce, A., Peled, D., Yannakakis, M.: Adaptive model checking. In: Proc. of the Eighth Int. Conf. on Tools and Alg. for the Construction and Analysis of Sys., April 2002, pp. 357–370 (2002)
Grumberg, O., Long, D.E.: Model checking and modular verification. In: Proc. of the Second Int. Conf. on Concurrency Theory, August 1991, pp. 250–265 (1991)
Henzinger, T.A., Jhala, R., Majumdar, R.: Race checking by context inference. In: Proc. of PLDI, pp. 1–13 (2004)
Holzmann, G.J.: The model checker SPIN. IEEE Trans. on Soft. Eng. 23(5), 279–295 (1997)
Holzmann, G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)
Holzmann, G.J., Joshi, R.: Model-driven software verification. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 76–91. Springer, Heidelberg (2004)
Hungar, H., Niese, O., Steffen, B.: Domain-specific optimization in automata learning. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 315–327. Springer, Heidelberg (2003)
Jones, C.B.: Specification and design of (parallel) programs. In: Mason, R. (ed.) Information Processing 83: Proceedings of the IFIP 9th World Congress, pp. 321–332. North Holland, IFIP (1983)
Krimm, J.-P., Mounier, L.: Compositional state space generation from Lotos programs. In: Proc. of the Third Int. Workshop on Tools and Alg. for the Construction and Analysis of Sys., April 1997, pp. 239–258 (1997)
Loginov, A., Reps, T.W., Sagiv, S.: Abstraction refinement via inductive learning. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 519–533. Springer, Heidelberg (2005)
Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. John Wiley & Sons, Chichester (1999)
Maler, O., Pnueli, A.: On the Learnability of Infinitary Regular Sets. Information and Computation 118(2) (1995)
Păsăreanu, C.S., Dwyer, M.B., Huth, M.: Assume-guarantee model checking of software: A comparative case study. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 168–183. Springer, Heidelberg (1999)
Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Apt, K. (ed.) Logic and Models of Concurrent Systems, vol. 13, pp. 123–144. Springer, Heidelberg (1984)
Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Using language inference to verify omega-regular properties. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 45–60. Springer, Heidelberg (2005)
Visser, W., Havelund, K., Brat, G., Park, S.-J.: Model checking programs. In: Proc. of the Fifteenth IEEE Int. Conf. on Auto. Soft. Eng., September 2000, pp. 3–12 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Păsăreanu, C.S., Giannakopoulou, D. (2006). Towards a Compositional SPIN. In: Valmari, A. (eds) Model Checking Software. SPIN 2006. Lecture Notes in Computer Science, vol 3925. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11691617_14
Download citation
DOI: https://doi.org/10.1007/11691617_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33102-5
Online ISBN: 978-3-540-33103-2
eBook Packages: Computer ScienceComputer Science (R0)