Abstract
We present a new heuristic for on-the-fly enumerative invariant verification. The heuristic is based on a construct for temporal scaling, called next, that compresses a sequence of transitions leading to a given target set into a single metatransition. First, we give an on-the-fly algorithm to search a process expression built using the constructs of hiding, parallel composition, and temporal scaling. Second, we show that as long the target set Θ of transitions includes all transitions that access variables shared with the environment, the process next Θ for P and P are equivalent according to the weak-simulation equivalence. As a result, to search the product of given processes, we can cluster processes into groups with as little communication among them as possible, and compose the groups only after applying appropriate hiding and temporal scaling operators. Applying this process recursively gives an expression that has multiple nested applications of next, and has potentially much fewer states than the original product. We report on an implementation, and show significant reductions for a tree-structured parity computer and a ring-structured leader-election protocol.
Supported in part by NSF CAREER award CCR-9734115 and by the DARPA grant NAG2-1214.
Supported by the DARPA grant NAG2-1214.
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
R. Alur and T. A. Henzinger. Reactive modules. In Proceedings of the 11th IEEE Symposium on Logic in Computer Science, pages 207–218, 1996.
R. Alur, T. Henzinger, F. Mang, S. Qadeer, S. Rajamani, and S. Tasiran. MOCHA: Modularity in model checking. In Proceedings of the 10th International Conference on Computer Aided Verification, LNCS 1427, pages 516–520. Springer-Verlag, 1998.
R. Alur, T. Henzinger, and S. Rajamani. Symbolic exploration of transition hierarchies. In Proceedings of the Fourth International Conference on Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1384, pages 330–344. Springer-Verlag, 1998.
A. Bouajjani, J. C. Fernandez, and N. Halbwachs. Minimal model generation. In Computer-Aided Verification, 2nd International Conference, CAV’90, LNCS 531, pages 197–203. Springer-Verlag, 1990.
G. Berry and G. Gonthier. The synchronous programming language esterel: design, semantics, implementation. Technical Report 842, INRIA, 1988.
G. Boudol, V. Roy, R. de Simone, and D. Vergamini. Process calculi, from theory to practice: verification tools. In Automatic Verification Methods for Finite State Systems, LNCS 407, pages 1–10. 1987.
E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. Workshop on Logic of Programs, LNCS 131, pages 52–71. Springer-Verlag, 1981.
E. M. Clarke, T. Filkorn, and S. Jha. Exploiting symmetry in temporal-logic model checking. In Computer-Aided Verification, Fifth International Conference, CAV’95, LNCS 697, pages 450–462. Springer-Verlag, 1993.
E. M. Clarke and R. P. Kurshan. Computer-aided verification. IEEE Spectrum, 33(6):61–67, 1996.
R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics-based tool for the verification of finite-state systems. ACM Trans. on Programming Languages and Systems, 15(1):36–72, 1993.
D. L. Dill, A. J. Drexler, A. J. Hu, and C. H. Yang. Protocol verification as a hardware design aid. In IEEE International Conference on Computer Design: VLSI in Computers and Processors, pages 522–525, 1992.
E. A. Emerson and A. P. Sistla. Symmetry and model checking. In Computer-Aided Verification, Fifth International Conference, CAV’95, LNCS 697, pages 463–478. Springer-Verlag, 1993.
J. Fernandez, H. Garavel, A. Kerbrat, R. Mateescu, L. Mounier, and M. Sighireanu. CADP: A protocol validation and verification toolbox. In Proceedings of the Eighth International Conference on Computer-Aided Verification, LNCS 1102. SpringerVerlag, 1996.
P. Godefroid. Using partial orders to improve automatic verification methods. In E. M. Clarke and R. P. Kurshan, editors, Computer-Aided Verification, 2nd International Conference, CAV’90, LNCS 531, pages 176–185. Springer-Verlag, 1990.
N. Halbwachs. Synchronous Programming of Reactive Systems. Kluwer Academic Publishers, 1993.
G. J. Holzmann. The model checker spin. IEEE Trans. on Software Engineering, 23(5):279–295, 1997.
C. N. Ip and D. L. Dill. Verifying systems with replicated components in mur’. In Proceedings of the Eighth International Conference on Computer Aided Verification, LNCS 1102. Springer-Verlag, 1996.
J.-P. Krimm and L. Mounier. Compositional state space generation of lotos programs. 1997.
P. Kanellakis and S. A. Smolka. CCS expressions, finite state processes, and three problems of equivalence. Information and Computation, 86(1):43–68, 1990.
N. A. Lynch. Distributed algorithms. Morgan Kaufmann, 1996.
R. Milner. A Calculus of Communicating Systems. LNCS 92. Springer-Verlag, 1980.
D. Peled. Combining partial order reductions with on-the-fly model-checking. In Computer Aided Verification, Proc. 6th Int. Conference, LNCS 818. SpringerVerlag, 1994.
R. Paige and R. E. Tarjan. Three partition-refinement algorithms. SIAM Journal on Computing, 16(6):973–989, 1987.
J. P. Queille and J. Sifakis. Specification and verification of concurrent programs in CESAR. In Proceedings of the Fifth International Symposium on Programming, LNCS 137, pages 195–220. Springer-Verlag, 1982.
A. Valmari. A stubborn attack on state explosion. Formal Methods in System Design, 1:297–322, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Alur, R., Wang, BY. (1999). “Next” Heuristic for On-the-Fly Model Checking. In: Baeten, J.C.M., Mauw, S. (eds) CONCUR’99 Concurrency Theory. CONCUR 1999. Lecture Notes in Computer Science, vol 1664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48320-9_9
Download citation
DOI: https://doi.org/10.1007/3-540-48320-9_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66425-3
Online ISBN: 978-3-540-48320-5
eBook Packages: Springer Book Archive