Skip to main content

Embedding Chaos

  • Conference paper
  • First Online:
Book cover Static Analysis (SAS 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2126))

Included in the following conference series:

Abstract

Model checking would answer all finite-state verification problems, if it were not for the notorious state-space explosion problem. A problem of practical importance, which attracted less attention, is to close open systems. Standard model checkers cannot handle open systems directly and closing is commonly done by adding an environment process, which in the simplest case behaves chaotically. However, for model checking, the way of closing should be well-considered to alleviate the state-space explosion problem. This is especially true in the context of model checking SDL with its asynchronous message-passing communication, since chaotically sending and receiving messages immediately leads to a combinatorial explosion caused by all combinations of messages in the input queues.

In this paper we develop an automatic transformation yielding a closed system. By embedding the outside chaos into the system’s processes, we avoid the state-space penalty in the input queues mentioned above. To capture the chaotic timing behaviour of the environment, we introduce a non-standard 3-valued timer abstraction. We use data-flow analysis to detect instances of chaotic variables and timers and prove the soundness of the transformation, which is based on the result of the analysis.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Electronic Proceedings of the Fourth International SPIN Workshop, Paris, France, Nov. 1998.

    Google Scholar 

  2. ACM. First Annual Symposium on Principles of Programming Languages (POPL) (Boston, MA), January 1973.

    Google Scholar 

  3. ACM. Twelfth Annual Symposium on Principles of Programming Languages (POPL), January 1985.

    Google Scholar 

  4. R. Alur, editor. CAV’ 96, Proceedings of the 8th International Conference on Computer-Aided Verification, New Brunswick, NJ, volume 1102 of Lecture Notes in Computer Science, 1996.

    Google Scholar 

  5. R. Alur and T. A. Henzinger. Reactive modules. In LICS’96 [28], pages 207–218.

    Google Scholar 

  6. R. Alur, T. A. Henzinger, and O. Kupferman. Alternating-time temporal logic. In Proceedings of the IEEE Symposium on Foundations of Computer Science, Florida, Oct. 1997.

    Google Scholar 

  7. R. Alur, T. A. Henzinger, F. Mang, S. Qadeer, S. K. Rajamani, and S. Tasiran. Mocha: Modularity in model checking. In Hu and Vardi [27], pages 521–525.

    Google Scholar 

  8. D. Bošnački and D. Dams. Integrating real time into Spin: A prototype implementation. In Budkowski etal. [11].

    Google Scholar 

  9. D. Bošnački, D. Dams, L. Holenderski, and N. Sidorova. Verifying SDL in Spin. In Graf and Schwartzbach [22].

    Google Scholar 

  10. E. Brinksma, editor. International Workshop on Protocol Specification, Testing and Verification IX. North-Holland, 1989. IFITC-6 International Workshop.

    Google Scholar 

  11. S. Budkowski, A. Cavalli, and E. Najm, editors. Proceedings of Formal Description Techniques and Protocol Specification, Testing, and Verification (FORTE/PSTV’98). Kluwer Academic Publishers, 1998.

    Google Scholar 

  12. E. Clarke, O. Grumberg, and D. Long. Model checking and abstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, 1994. A preliminary version appeared in the Proceedings of POPL 92.

    Article  Google Scholar 

  13. E. M. Clarke and R. P. Kurshan, editors. Computer Aided Verification 1990, volume 531 of Lecture Notes in Computer Science. Springer-Verlag, 1991.

    Google Scholar 

  14. Colby, P. Godefroid, and L. J. Jagadeesan. Automatically closing of open reactive systems. In Proceedings of 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM Press, 1998.

    Google Scholar 

  15. D. Dams, R. Gerth, and O. Grumberg. Abstract interpretation of reactive systems: Abstraction preserving ∀CTL*,∃CTL*, and CTL*. In Olderog[36].

    Google Scholar 

  16. I. Dravapoulos, N. Pronios, A. Andristou, I. Piveropoulos, N. Passas, D. Skyrianoglou, G. Awater, J. Kruys, N. Nikaein, A. Enout, S. Decrauzat, T. Kaltenschnee, T. Schumann, J. Meierhofer, S. Thömel, and J. Mikkonen. The Magic WAND, Deliverable 3D5, Wireless ATM MAC, Final Report, Aug. 1998.

    Google Scholar 

  17. Discrete-time Spin. http://win.tue.nl/~dragan/DTSpin.html, 2000.

  18. M. Dwyer and D. Schmidt. Limiting state explosion with filter-based refinement. In Proceedings of the 1st Internaltional Workshop in Verification, Abstract Interpretation, and Model Checking, Oct. 1997.

    Google Scholar 

  19. M. B. Dwyer and J. Hatcliff. Slicing software for model construction. In Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’99), Jan. 1999.

    Google Scholar 

  20. M. B. Dwyer and C. S. Pasareanu. Filter-based model checking of partial systems. In Proceedings of the 6th ACM SIGSOFT Symposium on the Foundations of Software Engineering (SIGSOFT’ 98), pages 189–202, 1998.

    Google Scholar 

  21. P. Godefroid. Using partial orders to improve automatic verification methods. In Clarke and Kurshan [13], pages 176–449. an extended Version appeared in ACM/AMS DIMACS Series, volume 3, pages 321–340, 1991.

    Google Scholar 

  22. S. Graf and M. Schwartzbach, editors. Proceedings of the Sixth International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2000), volume 1785 of Lecture Notes in Computer Science. Springer-Verlag, 2000.

    Google Scholar 

  23. O. Grumberg, editor. CAV’ 97, Proceedings of the 9th International Conference on Computer-Aided Verification, Haifa. Israel, volume 1254 of Lecture Notes in Computer Science. Springer, June 1997.

    Google Scholar 

  24. M. S. Hecht. Flow Analysis of Programs. North-Holland, 1977.

    Google Scholar 

  25. G. Holzmann and J. Patti. Validating SDL specifications: an experiment. In Brinksma [10], pages 317–326. IFIP TC-6 International Workshop.

    Google Scholar 

  26. G. J. Holzmann. Design and Validation of Computer Protocols. Prentice Hall, 1991.

    Google Scholar 

  27. A. J. Hu and M. Y. Vardi, editors. Computer-Aided Verification, CAV’ 98, 10th International Conference, Vancouver, Canada, Proceedings, volume 1427 of Lecture Notes in Computer Science. Springer-Verlag, 1998.

    Google Scholar 

  28. IEEE. Eleventh Annual Symposium on Logic in Computer Science (LICS) (New Brunswick, New Jersey). Computer Society Press, July 1996.

    Google Scholar 

  29. G. Kildall. A unified approach to global program optimization. In Proceedings of POPL’73 [2], pages 194–206.

    Google Scholar 

  30. O. Kupferman and M. Y. Vardi. Module checking revisited. In Grumberg [23].

    Google Scholar 

  31. O. Kupferman, M. Y Vardi, and P. Wolper. Module checking. In Alur [4], pages 75–86.

    Google Scholar 

  32. O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Twelfth Annual Symposium on Principles of Programming Languages (POPL) (New Orleans, LA) [3], pages 97–107.

    Google Scholar 

  33. D. Long. Model Checking, Abstraction and Compositional Verification. PhD thesis, Carnegie Mellon University, 1993.

    Google Scholar 

  34. L. I. Millet and T. Teitelbaum. Slicing promela and its application to model checking, simulation, and protocol understanding. In Electronic Proceedings of the Fourth International SPIN Workshop, Paris, France [1].

    Google Scholar 

  35. F. Nielson, H.-R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.

    Google Scholar 

  36. E.-R. Olderog, editor. Working Conference on Programming Concepts, Methods and Calculi, San Miniato, Italy. IFIP, North-Holland, June 1994.

    Google Scholar 

  37. A. Pnueli. The temporal logic of programs. In Proceeding of the 18th Annual Symposium on Foundations of Computer Science, pages 45–57, 1977.

    Google Scholar 

  38. Specification and Description Language SDL, blue book. CCITT Recommendation Z.100, 1992.

    Google Scholar 

  39. N. Sidorova and M. Steffen. Verification of a wireless ATM medium-access protocol. In Proceedings of the 7th Asia-Pacific Software Engineering Conference (APSEC 2000), 5.–8. December 2000, Singapore, pages 84–91. IEEE Computer Society, 2000. A preliminary and longer version appeared as Universität Kiel technical report TR-ST-00-3.

    Google Scholar 

  40. N. Sidorova and M. Steffen. Verifying large SDL-specifications using model checking. Feb. 2001. To appear in the LNCS-proceedings of the 10th SDL-Forum 2001 “Meeting UML”.

    Google Scholar 

  41. F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3): 121–189, 1995.

    Google Scholar 

  42. A. Valmari. A stubborn attack on state explosion. Formal Methods in System Design, 1992. Earlier version in the proceeding of CAV’ 90 Lecture Notes in Computer Science 531, Springer-Verlag 1991, pp. 156–165 and in Computer-Aided Verification’ 90, DIMACS Series in Discrete Mathematics and Theoretical Computer Science Vol. 3, AMS & ACM 1991, pp. 25–41.

    Google Scholar 

  43. Verifying industial reactive systems (VIRES), Esprit long-term research project LTR-23498. http://radon.ics.ele.tue.nl/~vires/, 1998-2000.

  44. A wireless ATM network demonstrator (WAND), ACTS project AC085. http://www.tik.ee.ethz.ch/~wand/, 1998.

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sidorova, N., Steffen, M. (2001). Embedding Chaos. In: Cousot, P. (eds) Static Analysis. SAS 2001. Lecture Notes in Computer Science, vol 2126. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47764-0_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-47764-0_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42314-0

  • Online ISBN: 978-3-540-47764-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics