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.
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
Alur, R., et al.: The algorithmic analysis of hybrid systems. Theoretical Computer Science 138(1), 3–34 (1995)
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)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999)
Colmerauer, A.: Note sur Prolog III. In: Proc. Séminaire Programmation en Logique, pp. 159–174 (1986)
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)
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)
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)
Delzanno, G., Podelski, A.: Model checking in. In: Cleaveland, W.R. (ed.) ETAPS 1999 and TACAS 1999. LNCS, vol. 1579, Springer, Heidelberg (1999)
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)
Fribourg, L., Olsén, H.: A decompositional approach for computing least fixed-points of Datalog programs with Z-counters. Constraints 2, 3–4 (1997)
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)
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)
Halbwachs, N.: Delay analysis in synchronous programs. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, Springer, Heidelberg (1993)
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)
Jaffar, J., Lassez, J.L.: Constraint logic programming. In: Proc. 14th ACM Symposium on Principles of Programming Languages, pp. 111–119 (1987)
Jaffar, J., Maher, M.: Constraint logic programming: A survey. J. Logic Programming 19(20), 503–581 (1994)
Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. In: Proc. ACM Symposium on Principles of Database Systems, pp. 299–313 (1990)
Kanellakis, P.C., Kuper, G.M., Revesz, P.: Constraint query languages. Journal of Computer and System Sciences 51(1), 26–52 (1995)
Kerbrat, A.: Reachable state space analysis of lotos specifications. In: Proc. 7th International Conference on Formal Description Techniques, pp. 161–76 (1994)
Kuper, G.M., Libkin, L., Paredaens, J. (eds.): Constraint Databases. Springer, Heidelberg (2000)
Marriott, K., Stuckey, P.J.: Programming with Constraints: An Introduction. MIT Press, Cambridge (1998)
McMillan, K.: Symbolic Model Checking. Kluwer, Norwell (1993)
Miné, A.: The octagon abstract domain. In: Proceedings Analysis, Slicing and Transformation, pp. 310–319. IEEE Press, Los Alamitos (2001)
Pratt, V.: Two easy theories whose combination is hard. MIT Technical Report (1977)
Revesz, P.: A closed-form evaluation for Datalog queries with integer (gap)-order constraints. Theoretical Computer Science 116(1), 117–149 (1993)
Revesz, P.: Datalog programs with difference constraints. In: Proc. 12th International Conference on Applications of Prolog. pp. 69–76 (1999)
Revesz, P.: Reformulation and approximation in model checking. In: Choueiry, B.Y., Walsh, T. (eds.) SARA 2000. LNCS (LNAI), vol. 1864, Springer, Heidelberg (2000)
Revesz, P.: Introduction to Constraint Databases. Springer, Heidelberg (2002)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)