Skip to main content
Log in

A symbolic manipulator for automated verification of reactive systems with heterogeneous data types

  • Special section on trends in verification and validation
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

In this paper, we present the design and implementation of the Composite Symbolic Library, a symbolic manipulator for model checking systems with heterogeneous data types. Our tool provides a common interface for different symbolic representations, such as BDDs, for representing Boolean logic formulas and polyhedral representations for linear arithmetic formulas. Based on this common interface, these data structures are combined using a disjunctive composite representation. We propose several heuristics for efficient manipulation of this composite representation and present experimental results that demonstrate their performance. We used an object-oriented design to implement the Composite Symbolic Library. We imported the CUDD library (a BDD library) and the Omega Library (a linear arithmetic constraint manipulator that uses polyhedral representations) to our tool by writing wrappers around them which conform to our symbolic representation interface. Our tool supports polymorphic verification procedures which dynamically select symbolic representations based on the input specification. Our symbolic representation library can be used as an interface between different symbolic libraries, model checkers, and specification languages. We expect our tool to be useful in integrating different tools and techniques for symbolic model checking, and in comparing their performance.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alur, R., Henzinger, T.A., Ho, P.: Automatic symbolic verification of embedded systems. IEEE Trans Software Eng 22(3): 181–201, 1996

    Article  Google Scholar 

  2. Andrews, G.R.: Concurrent programming: principles and practice. Benjamin/Cummings, Redwood City, Calif., USA, 1991

  3. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.H.: Symbolic model checking: 1020 states and beyond. In: Proc. 5th Annual IEEE Symposium on Logic in Computer Science, pp. 428–439, January 1990

  4. Bultan, T., Gerber, R., League, C.: Verifying systems with integer constraints and Boolean predicates: a composite approach. In: Proc. 1998 ACM SIGSOFT International Symposium on Software Testing and Analysis, pp. 113–123, March 1998

  5. Bensalem, S., Ganesh, V., Lakhnech, Y., Munoz, C., Owre, S., Rueb, H., Rushby, J., Rusu, V., Saidi, H., Shankar, N., Singerman, E., Tiwari, A.: An overview of SAL. In: Proc. 5th Langley Formal Methods Workshop, June 2000

  6. Bultan, T., Gerber, R., League, C.: Composite model checking: verification with type-specific symbolic representations. ACM Trans Software Eng Methodol 9(1): 3–50, 2000

    Article  MathSciNet  Google Scholar 

  7. Bultan, T., Gerber, R., Pugh, W.: Symbolic model checking of infinite state systems using Presburger arithmetic. In: Grumberg, O., (ed.), Proc. 9th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 1254. Springer, Berlin Heidelberg New York, 1997, pp. 400–411

  8. Bultan, T., Gerber, R., Pugh, W.: Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results. ACM Trans Program Lang Syst 21(4): 747–789, 1999

    Article  Google Scholar 

  9. Bensalem, S., Lakhnech, Y., Owre, S.: Computing abstractions of infinite state systems compositionally and automatically. In: Proc. 10th International Conference for Computer-Aided Verification (CAV’98), 1998

  10. Ball, T., Podelski, A., Rajamani, S.K.: Boolean and Cartesian abstraction for model checking C programs. J Softw Tools Technol Transfer 5(1): 49–58, 2003

    Article  Google Scholar 

  11. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput 35(8): 677–691, 1986

    Google Scholar 

  12. Bharadwaj, R., Sims, S.: Salsa: combining constraint solvers with BDDs for automatic invariant checking. In: Graf, S., Schwartzbach, M., (eds.), Proc. 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, vol. 1254. Springer, Berlin Heidelberg New York, 2000, pp. 378–394

  13. Bultan, T., Yavuz-Kahveci, T.: Action Language Verifier. In: Proc. 6th IEEE International Conference on Automated Software Engineering (ASE 2001), 2001

  14. Chan, W., Anderson, R.J., Beame, P., Burns, S., Modugno, F., Notkin, D., Reese, J.D.: Model checking large software specifications. IEEE Trans Software Eng 24(7): 498–520, 1998

    Article  Google Scholar 

  15. Chan, W., Anderson, R.J., Beame, P., Notkin, D.: Combining constraint solving and symbolic model checking for a class of systems with non-linear constraints. In: Grumberg, O., (ed.), Proc. 9th International Conference on Computer Aided Verification, Lecture Notes in Computer Science, vol. 1254. Springer, Berlin Heidelberg New York, 1997, pp. 316–327

  16. Courtois, P.J., Parnas, D.L.: Documentation for safety critical software. In: Proc. 15th International Conference on Software Engineering, pp. 315–323, May 1993

  17. CUDD : CU decision diagram package, http://vlsi.colorado.edu/∼fabio/cudd/

  18. Delzanno, G., Bultan, T.: Constraint-based verification of client server protocols. In: Proc. 7th International Conference on Principles and Practice of Constraint Programming (CP 2001), 2001

  19. Delzanno, G., Podelski, A.: Constraint-based deductive model checking. J Softw Tools Technol Transfer 3(3): 250–270, 2001

    Google Scholar 

  20. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading, Mass., USA, 1994

  21. Halbwachs, N.: Delay analysis in synchronous programs. In: C. Courcoubetis, (ed.), Proc. Computer Aided Verification, Lecture Notes in Computer Science, vol. 697. Springer, Berlin Heidelberg New York, 1993, pp. 333–346

  22. Halbwachs, N., Raymond, P., Proy, Y.: Verification of linear hybrid systems by means of convex approximations. In: LeCharlier, B., (ed.), Proc. International Symposium on Static Analysis, Lecture Notes in Computer Science, vol. 864. Springer, Berlin Heidelberg New York, 1994

  23. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The Omega Library interface guide. Technical Report CS-TR-3445, Department of Computer Science, University of Maryland, College Park, March 1995

  24. McMillan, K.L.: Symbolic model checking. Kluwer Academic, Boston, Mass., USA, 1993

  25. The Omega project, http://www.cs.umd.edu/projects/omega/

  26. Saidi, H.: Model checking guided abstraction and analysis. In: Proc. Statica Analysis Symposium, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York, 2000

  27. Srivastava, D.: Subsumption and indexing in constraint query languages with linear arithmetic constraints. Ann Math Artif Intel 8: 315–343, 1993

    Article  Google Scholar 

  28. Yavuz-Kahveci, T., Bultan, T.: Heuristics for efficient manipulation of composite constraints. In: Proc. 4th International Workshop on Frontiers of Combining Systems (FroCoS 2002), 2002

  29. Yavuz-Kahveci, T., Tuncer, M., Bultan, T.: Composite symbolic library. In: Proc. 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science, vol. 2031. Springer, Berlin Heidelberg New York, 2001

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Tuba Yavuz-Kahveci or Tevfik Bultan.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yavuz-Kahveci, T., Bultan, T. A symbolic manipulator for automated verification of reactive systems with heterogeneous data types. Int J Softw Tools Technol Transfer 5, 15–33 (2003). https://doi.org/10.1007/s10009-002-0091-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-002-0091-4

Keywords

Navigation