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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Electronic Proceedings of the Fourth International SPIN Workshop, Paris, France, Nov. 1998.
ACM. First Annual Symposium on Principles of Programming Languages (POPL) (Boston, MA), January 1973.
ACM. Twelfth Annual Symposium on Principles of Programming Languages (POPL), January 1985.
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.
R. Alur and T. A. Henzinger. Reactive modules. In LICS’96 [28], pages 207–218.
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.
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.
D. Bošnački and D. Dams. Integrating real time into Spin: A prototype implementation. In Budkowski etal. [11].
D. Bošnački, D. Dams, L. Holenderski, and N. Sidorova. Verifying SDL in Spin. In Graf and Schwartzbach [22].
E. Brinksma, editor. International Workshop on Protocol Specification, Testing and Verification IX. North-Holland, 1989. IFITC-6 International Workshop.
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.
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.
E. M. Clarke and R. P. Kurshan, editors. Computer Aided Verification 1990, volume 531 of Lecture Notes in Computer Science. Springer-Verlag, 1991.
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.
D. Dams, R. Gerth, and O. Grumberg. Abstract interpretation of reactive systems: Abstraction preserving ∀CTL*,∃CTL*, and CTL*. In Olderog[36].
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.
Discrete-time Spin. http://win.tue.nl/~dragan/DTSpin.html, 2000.
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.
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.
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.
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.
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.
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.
M. S. Hecht. Flow Analysis of Programs. North-Holland, 1977.
G. Holzmann and J. Patti. Validating SDL specifications: an experiment. In Brinksma [10], pages 317–326. IFIP TC-6 International Workshop.
G. J. Holzmann. Design and Validation of Computer Protocols. Prentice Hall, 1991.
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.
IEEE. Eleventh Annual Symposium on Logic in Computer Science (LICS) (New Brunswick, New Jersey). Computer Society Press, July 1996.
G. Kildall. A unified approach to global program optimization. In Proceedings of POPL’73 [2], pages 194–206.
O. Kupferman and M. Y. Vardi. Module checking revisited. In Grumberg [23].
O. Kupferman, M. Y Vardi, and P. Wolper. Module checking. In Alur [4], pages 75–86.
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.
D. Long. Model Checking, Abstraction and Compositional Verification. PhD thesis, Carnegie Mellon University, 1993.
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].
F. Nielson, H.-R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.
E.-R. Olderog, editor. Working Conference on Programming Concepts, Methods and Calculi, San Miniato, Italy. IFIP, North-Holland, June 1994.
A. Pnueli. The temporal logic of programs. In Proceeding of the 18th Annual Symposium on Foundations of Computer Science, pages 45–57, 1977.
Specification and Description Language SDL, blue book. CCITT Recommendation Z.100, 1992.
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.
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”.
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3): 121–189, 1995.
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.
Verifying industial reactive systems (VIRES), Esprit long-term research project LTR-23498. http://radon.ics.ele.tue.nl/~vires/, 1998-2000.
A wireless ATM network demonstrator (WAND), ACTS project AC085. http://www.tik.ee.ethz.ch/~wand/, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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