Skip to main content
Log in

An embeddable virtual machine for state space generation

  • SPIN 07
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The semantics of modelling languages are not always specified in a precise and formal way, and their rather complex underlying models make it a non-trivial exercise to reuse them in newly developed tools. We report on experiments with a virtual machine-based approach for state space generation. The virtual machine’s (VM) byte-code language is straightforwardly implementable, facilitates reuse and makes it an adequate target for translation of higher-level languages like the SPIN model checker’s Promela, or even C. As added value, it provides efficiently executable operational semantics for modelling languages. Several tools have been built around the VM implementation we developed, to evaluate the benefits of the proposed approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barnat, J., Brim, L., Černá, I., Šimeček, P.: DiVinE the distributed verification environment. In: Leucker, M., van de Pol J. (eds.) 4th International Workshop on Parallel and Distributed Methods in verifiCation (PDMC’05). Lisbon, Portuga, July (2005)

  2. Barnat, J., Brim, L., Rockai, P.: Scalable multi-core LTL model-checking. In: Bosnacki and Edelkamp [6], pp. 187–203 (2007)

  3. Barnat J., Brim L., Simecek P., Weber M.: Revisiting resistance speeds up I/O-efficient LTL model checking. In: Ramakrishnan, C.R., Rehof, J. (eds) TACAS, vol. 4963 of Lecture Notes in Computer Science, pp. 48–62. Springer, Berlin (2008)

    Google Scholar 

  4. Bevier, W.: Towards an operational semantics of PROMELA in ACL2. In Proceedings of the 3rd International SPIN Workshop, April (1997)

  5. Bolognesi T., Brinksma E.: Introduction to the ISO specification language LOTOS. In: van Eijk, P.H.J., Vissers, C.A., Diaz, M. (eds) The Formal Description Technique LOTOS, pp. 23–73. Elsevier Science, North-Holland (1989)

    Google Scholar 

  6. Bosnacki, D., Edelkamp, S., editors.: Model Checking Software, 14th International SPIN Workshop, Berlin, Germany, July 1–3, 2007, Proceedings, vol. 4595 of Lecture Notes in Computer Science. Springer, Berlin (2007)

  7. Brat, G., Havelund, K., Park, S., Visser, W.: Java PathFinder—second generation of a Java model checker. In: Proceedings of the Workshop on Advances in Verification (2000)

  8. Brim L.: Distributed verification: exploring the power of raw computing power. In: Brim, L., Haverkort, B., Leucker, M., van de Pol, J. (eds) Formal Methods: Applications and Technology, vol. 4346 of Lecture Notes in Computer Science, pp. 23–34. Springer, Berlin (2006)

    Google Scholar 

  9. de Villiers, P., Visser, W.: ESML—a validation language for concurrent systems. In: Bishop, J. (ed) 7-th Southern African Computer Symposium, pp 59–64. July (1992)

  10. Dill, D., Drexler, A., Hu, A., Yang, C.: Protocol verification as a hardware design aid. In ICCD ’92: Proceedings of the 1991 IEEE International Conference on Computer Design on VLSI in Computer and Processors, pp 522–525. IEEE Computer Society, Washington, DC, USA (1992)

  11. Emerson, E.A., Namjoshi, K.S., editors.: Verification, Model Checking, and Abstract Interpretation, 7th International Conference, VMCAI 2006, Charleston, SC, USA, January 8–10, 2006, Proceedings, volume 3855 of Lecture Notes in Computer Science. Springer, Berlin (2006)

  12. Garavel H.: OPEN/CAESAR: an open software architecture for verification, simulation, and testing. Lecture Notes in Computer Science 1384, 68–84 (1998)

    Article  Google Scholar 

  13. Garavel H., Lang F., Mateescu R.: An overview of CADP 2001. EASST Newsl 4, 13–24 (2002)

    Google Scholar 

  14. Geldenhuys, J.: Efficiency issues in the design of a model checker. Msc. thesis, University of Stellenbosch, South Africa, November (1999)

  15. Hammer M., Weber M.: “To Store or Not To Store” reloaded: reclaiming memory on demand. In: Brim, L., Haverkort, B., Leucker, M., van de Pol, J. (eds) Formal Methods: Applications and Technology, vol. 4346 of Lecture Notes in Computer Science, pp. 51–66. Springer, Berlin (2006)

    Google Scholar 

  16. Hoare C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  17. Holzmann, G.J.: The engineering of a model checker: the GNU i-protocol case study revisited. In: Proceedings of the 6th Spin Workshop, vol. 1680 of Lecture Notes in Computer Science. Springer, Toulouse, France (1999)

  18. Holzmann G.J.: The SPIN model checker: primer and reference manual. Addison-Wesley, Boston (2003)

    Google Scholar 

  19. Holzmann G.J., Bosnacki D.: The design of a multicore extension of the SPIN model checker. IEEE Trans. Softw. Eng. 33(10), 659–674 (2007)

    Article  Google Scholar 

  20. Holzmann G.J., Natarajan V.: Outline for an operational- semantics definition of PROMELA. Technical report, Bell Laboratories, Murray Hill (1996)

    Google Scholar 

  21. Kamel M., Leue S.: Formalization and validation of the general inter-ORB protocol (GIOP) using PROMELA and SPIN. STTT 2(4), 394–409 (2000)

    MATH  Google Scholar 

  22. Leven P., Mehler T., Edelkamp S.: Directed error detection in c++ with the assembly-level model checker StEAM. In: Graf, S., Mounier, L. (eds) SPIN, volume 2989 of Lecture Notes in Computer Science, pp. 39–56. Springer, Berlin (2004)

    Google Scholar 

  23. Milner R.: Communicating and Mobile Systems: the Pi-Calculus. Cambridge University Press, London (1999)

    MATH  Google Scholar 

  24. Pelánek, R.: BEEM: Benchmarks for explicit model checkers. In: Bosnacki and Edelkamp [6], pp. 263–267

  25. Qian, Z.: A formal specification of java virtual machine instructions for objects, methods and subrountines. In: Formal Syntax and Semantics of Java, pp 271–312 (1999)

  26. Quirós, G.: Static byte-code analysis for state space reduction. Master thesis, RWTH Aachen University, March (2006)

  27. Robby, Dwyer M.B., Hatcliff J.: Bogor: an extensible and highly-modular software model checking framework. SIGSOFT Softw. Eng. Notes 28(5), 267–276 (2003)

    Article  Google Scholar 

  28. Rosien, M.: Design and implementation of a systematic state explorer. Msc. thesis, University of Twente, The Netherlands, March (2001)

  29. Schlich, B., Kowalewski, S.: Model checking C source code for embedded systems. In: Proceedings of the IEEE/NASA Workshop on Leveraging Applications of Formal Methods, Verification, and Validation (ISoLA 2005), September (2005)

  30. Schlich, B., Rohrbach, M., Weber, M., Kowalewski, S.: Model checking software for microcontrollers. Technical Report AIB-2006-11, RWTH Aachen, August (2006)

  31. Schürmans, S.: Ein Compiler und eine Virtuelle Maschine zur Zustandsraumgenerierung. Diploma thesis, RWTH Aachen University, October (2005)

  32. Veldema, R.: Personal communication on the Tapir programming language. http://www2.informatik.uni-erlangen.de/Forschung/Projekte/Tapir/ (2006)

  33. Weise, C.: An incremental formal semantics for PROMELA. In: Proceedings of the 3rd International SPIN Workshop, April (1997)

  34. Wibling, O., Parrow, J., Pears, A.: Automatized verification of ad hoc routing protocols. In: FORTE, volume 3235 of Lecture Notes in Computer Science, pp 343–358. Springer (2004)

  35. Wirth N.: Pascal-S: a subset and its implementation. In: Barron, D.W. (eds) Pascal—The Language and its Implementation, pp. 199–259. Wiley, London (1981)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Weber.

Additional information

This research has been partially funded by the Netherlands Organization for Scientific Research (NWO) under FOCUS/BRICKS grant number 642.000.05N09.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Weber, M. An embeddable virtual machine for state space generation. Int J Softw Tools Technol Transfer 12, 97–111 (2010). https://doi.org/10.1007/s10009-010-0141-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-010-0141-2

Keywords

Navigation