Skip to main content

The Constraint Database Approach to Software Verification

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2007)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4349))

Abstract

Based on constraint database techniques, we present a new approach to software verification. This new approach has some similarity to abstract interpretation that uses various widening operators; therefore, we call the new approach l-u widening. We show that our l-u widening leads to a more precise over-approximation of the invariants in a program than comparable previously proposed widening operators based on difference-bound matrices, although l-u widening can be computed as efficiently as the other widening operators. We show that constraint database techniques can compute non-convex program invariants too. Finally, we give a compact representation of addition-bound matrices, which generalize difference-bound matrices.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alur, R., et al.: The algorithmic analysis of hybrid systems. Theoretical Computer Science 138(1), 3–34 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  2. Anderson, S., Revesz, P.: Verifying the incorrectness of programs and automata. In: Zucker, J.-D., Saitta, L. (eds.) SARA 2005. LNCS (LNAI), vol. 3607, pp. 1–13. Springer, Heidelberg (2005)

    Google Scholar 

  3. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  4. Colmerauer, A.: Note sur Prolog III. In: Proc. Séminaire Programmation en Logique, pp. 159–174 (1986)

    Google Scholar 

  5. Cousot, P.: Proving program invariance and termination by parametric abstraction, Lagrangian relaxation and semidefinite programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 17–19. Springer, Heidelberg (2005)

    Google Scholar 

  6. Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proc. ACM Principles on Programming Languages, ACM Press, New York (1977)

    Google Scholar 

  7. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proc. ACM Principles on Programming Languages, ACM Press, New York (1978)

    Google Scholar 

  8. Delzanno, G., Podelski, A.: Model checking in. In: Cleaveland, W.R. (ed.) ETAPS 1999 and TACAS 1999. LNCS, vol. 1579, Springer, Heidelberg (1999)

    Google Scholar 

  9. Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., Berthier, F.: The constraint logic programming language chip. In: Proc. Fifth Generation Computer Systems, Tokyo, Japan, pp. 693–702 (1988)

    Google Scholar 

  10. Fribourg, L., Olsén, H.: A decompositional approach for computing least fixed-points of Datalog programs with Z-counters. Constraints 2, 3–4 (1997)

    Article  Google Scholar 

  11. Fribourg, L., Richardson, J.D.C.: Symbolic verification with gap-order constraints. In: Gallagher, J.P. (ed.) LOPSTR 1996. LNCS, vol. 1207, pp. 20–37. Springer, Heidelberg (1997)

    Google Scholar 

  12. Godefroid, P., Huth, M., Jagadeesan, R.: Abstraction-based model checking using modal transition systems. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 426–440. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Halbwachs, N.: Delay analysis in synchronous programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, Springer, Heidelberg (1993)

    Google Scholar 

  14. Harvey, W., Stuckey, P.: A unit two variable per inequality integer constraint solver for constraint logic programming. In: Proc. Australian Computer Science Conference (Australian Computer Science Communications), pp. 102–11 (1997)

    Google Scholar 

  15. Jaffar, J., Lassez, J.L.: Constraint logic programming. In: Proc. 14th ACM Symposium on Principles of Programming Languages, pp. 111–119 (1987)

    Google Scholar 

  16. Jaffar, J., Maher, M.: Constraint logic programming: A survey. J. Logic Programming 19(20), 503–581 (1994)

    Article  MathSciNet  Google Scholar 

  17. Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. In: Proc. ACM Symposium on Principles of Database Systems, pp. 299–313 (1990)

    Google Scholar 

  18. Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. Journal of Computer and System Sciences 51(1), 26–52 (1995)

    Article  MathSciNet  Google Scholar 

  19. Kerbrat, A.: Reachable state space analysis of lotos specifications. In: Proc. 7th International Conference on Formal Description Techniques, pp. 161–76 (1994)

    Google Scholar 

  20. Kuper, G.M., Libkin, L., Paredaens, J. (eds.): Constraint Databases. Springer, Heidelberg (2000)

    MATH  Google Scholar 

  21. Marriott, K., Stuckey, P.J.: Programming with Constraints: An Introduction. MIT Press, Cambridge (1998)

    MATH  Google Scholar 

  22. McMillan, K.: Symbolic Model Checking. Kluwer, Norwell (1993)

    MATH  Google Scholar 

  23. Miné, A.: The octagon abstract domain. In: Proceedings Analysis, Slicing and Transformation, pp. 310–319. IEEE Press, Los Alamitos (2001)

    Google Scholar 

  24. Pratt, V.: Two easy theories whose combination is hard. MIT Technical Report (1977)

    Google Scholar 

  25. Revesz, P.: A closed-form evaluation for Datalog queries with integer (gap)-order constraints. Theoretical Computer Science 116(1), 117–149 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  26. Revesz, P.: Datalog programs with difference constraints. In: Proc. 12th International Conference on Applications of Prolog. pp. 69–76 (1999)

    Google Scholar 

  27. Revesz, P.: Reformulation and approximation in model checking. In: Choueiry, B.Y., Walsh, T. (eds.) SARA 2000. LNCS (LNAI), vol. 1864, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  28. Revesz, P.: Introduction to Constraint Databases. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  29. Revesz, P., Chen, R., Kanjamala, P., Li, Y., Liu, Y., Wang, Y.: The MLPQ/GIS constraint database system. In: ACM SIGMOD International Conference on Management of Data (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Byron Cook Andreas Podelski

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Revesz, P. (2007). The Constraint Database Approach to Software Verification. In: Cook, B., Podelski, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2007. Lecture Notes in Computer Science, vol 4349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69738-1_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-69738-1_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-69735-0

  • Online ISBN: 978-3-540-69738-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics