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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
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)