Heuristics for Efficient Manipulation of Composite Constraints
Composite Symbolic Library is a symbolic manipulator for model checking systems with heterogeneous data types. Our current implementation uses two basic symbolic representations: BDDs for boolean and enumerated variables, and polyhedra for (unbounded) integers. These basic representations are imported to the Composite Symbolic Library using a common interface and are combined using a disjunctive composite representation. In this paper, we present several heuristics for efficient manipulation of this composite representation. Our heuristics make use of the following observations: 1) efficient operations on BDDs can be used to mask expensive operations on polyhedra, 2) our disjunctive representation can be exploited by computing pre and post-conditions and subset checks incrementally, and 3) size of a composite representation can be minimized by iteratively merging matching constraints and removing redundant ones. We present experimental results that illustrate efficiency of our algorithms.
KeywordsModel Check Symbolic Representation Disjunctive Normal Form Liveness Property Composite Representation
Unable to display preview. Download preview PDF.
- 4.G. R. Andrews. Concurrent Programming: Principles and Practice. The Benjamin/Cummings Publishing Company, Redwood City, California, 1991.Google Scholar
- 8.T. Bultan and T. Yavuz-Kahveci. Action language verifier. In Proceedings of the 6th IEEE Intl. Conference on Automated Software Engineering (ASE 2001), 2001.Google Scholar
- 9.J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. H. Hwang. Symbolic model checking: 1020 states and beyond. In Proceedings of the 5th Annual IEEE Symposium on Logic in Computer Science, pages 428–439, January 1990.Google Scholar
- 11.E.M. Clarke, O. Grumberg, and D.A. Peled. Model checking. The MIT Press, Massachusetts, Cambridge, 1999.Google Scholar
- 12.P. J. Courtois and D. L. Parnas. Documentation for safety critical software. In Proc. of the 15th Intl. Conf. on Software Engineering, pages 315–323, May 1993.Google Scholar
- 13.G. Delzanno and T. Bultan. Constraint-based verification of client server protocols. In Proceedings of the Seventh Intl. Conference on Principles and Practice of Constraint Programming (CP 2001).Google Scholar
- 15.N. Halbwachs. Delay analysis in synchronous programs. In C. Courcoubetis, ed., Proceedings of computer aided verification, volume 697 of Lecture Notes in Computer Science, pages 333–346. Springer-Verlag, 1993.Google Scholar
- 16.N. Halbwachs, P. Raymond, and Y. Proy. Verification of linear hybrid systems by means of convex approximations. In B. LeCharlier, ed., Proceedings of Intl. Symposium on Static Analysis, volume 864 of LNCS. Springer-Verlag, Sept. 1994.Google Scholar