Heuristics for Efficient Manipulation of Composite Constraints

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2309)


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.


Model Check Symbolic Representation Disjunctive Normal Form Liveness Property Composite Representation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 3.
    R. Alur, T. A. Henzinger, and P. Ho. Automatic symbolic verification of embedded systems. IEEE Transactions on Software Engineering, 22(3):181–201, March 1996.CrossRefGoogle Scholar
  2. 4.
    G. R. Andrews. Concurrent Programming: Principles and Practice. The Benjamin/Cummings Publishing Company, Redwood City, California, 1991.Google Scholar
  3. 5.
    R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, 35(8):677–691, 1986.zbMATHCrossRefGoogle Scholar
  4. 6.
    T. Bultan, R. Gerber, and C. League. Composite model checking: Verification with type-specific symbolic representations. ACM Transactions on Software Engineering and Methodology, 9(1):3–50, January 2000.CrossRefGoogle Scholar
  5. 7.
    T. Bultan, R. Gerber, and W. Pugh. Model-checking concurrent systems with unbounded integer variables: Symbolic representations, approximations, and experimental results. ACM Transactions on Programming Languages and Systems, 21(4):747–789, July 1999.CrossRefGoogle Scholar
  6. 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
  7. 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
  8. 10.
    W. Chan, R. J. Anderson, P. Beame, S. Burns, F. Modugno, D. Notkin, and J. D. Reese. Model checking large software specifications. IEEE Transactions on Software Engineering, 24(7):498–520, July 1998.CrossRefGoogle Scholar
  9. 11.
    E.M. Clarke, O. Grumberg, and D.A. Peled. Model checking. The MIT Press, Massachusetts, Cambridge, 1999.Google Scholar
  10. 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
  11. 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
  12. 14.
    Giorgio Delzanno and Andreas Podelski. Constraint-based deductive model checking. Journal of Software and Tools for Techn. Transfer, 3(3):250–270, 2001.zbMATHGoogle Scholar
  13. 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
  14. 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
  15. 17.
    K. L. McMillan. Symbolic model checking. Kluwer, Massachusetts, 1993.zbMATHGoogle Scholar
  16. 18.
    D. Srivastava. Subsumption and indexing in constraint query languages withlinear arithmetic constraints. Annals of Math. and Artificial Intelligence, 8:315–343, 1993.zbMATHCrossRefGoogle Scholar
  17. 19.
    T. Yavuz-Kahveci, M. Tuncer, and T. Bultan. Composite symbolic library. In Proceedings of the 7th Intl. Conference on Tools and Algorithms for the Construction and Analysis of Systems, volume 2031 of LNCS, April 2001.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of CaliforniaSanta BarbaraUSA

Personalised recommendations