Abstract
This paper presents a new numerical abstract domain for static analysis by abstract interpretation. This domain allows us to represent invariants of the form (x − y = c) and (±x = c) , where x and y are variables values and c is an integer or real constant.
Abstract elements are represented by Difference-Bound Matrices, widely used by model-checkers, but we had to design new operators to meet the needs of abstract interpretation. The result is a complete lattice of infinite height featuring widening, narrowing and common transfer functions. We focus on giving an efficient O(n 2)re presentation and graph-based O(n 3)algorit hms—where n is the number of variables—and claim that this domain always performs more precisely than the well-known interval domain.
To illustrate the precision/cost tradeoff of this domain, we have implemented simple abstract interpreters for toy imperative and parallel languages which allowed us to prove some non-trivial algorithms correct.
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
F. Bourdoncle. Efficient chaotic iteration strategies with widenings. In FMPA’ 93, number 735 in LNCS, pages 128–141. Springer-Verlag, 1993.
T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithms. The MIT Press, 1990.
P. Cousot. Méthodes itératives de construction et d’approximation de points fixes d’opérateurs monotones sur un treillis, analyse sémantique de programmes. Thèse d’état ès sciences mathématiques, Université scientifique et médicale de Grenoble, France, 1978.
P. Cousot and R. Cousot. Static determination of dynamic properties of programs. In Proc. of the 2 d Int. Symposium on Programming, pages 106–130. Dunod, Paris, France, 1976.
P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In ACM POPL’ 79, pages 269–282. ACM Press, 1979.
P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2-3):103–179, 1992.
P. Cousot and R. Cousot. Comparing the Galois connection and widening/narrowing approaches to abstract interpretation, invited paper. In PLILP’92, number 631 in LNCS, pages 269–295. Springer-Verlag, August 1992.
P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In ACM POPL’78, pages 84–97. ACM Press, 1978.
L. Lamport. A new solution of dijkstra’s concurrent programming problem. Communications of the ACM, 8(17):453–455, August 1974.
K. Larsen, F. Larsson, P. Pettersson, and W. Yi. Efficient verification of real-time systems: Compact data structure and state-space reduction. In IEEE RTSS’97, pages 14–24. IEEE CS Press, December 1997.
K. Larsen, C. Weise, W. Yi, and J. Pearson. Clock difference diagrams. Nordic Journal of Computing, 6(3):271–298, October 1999.
A. Miné. Representation of Two-Variable Difference or Sum Constraint Set and Application to Automatic Program Analysis. Master’s thesis, ENS, 2000. http://www.eleves.ens.fr:8080/home/mine/stage_dea/index.shtml.en.
J. Møller, J. Lichtenberg, R. Andersen, H., and H. Hulgaard. Difference decision diagrams. In CSL’99, volume 1683 of LNCS, pages 111–125. Springer-Verlag, September 1999.
S. Yovine. Model-checking timed automata. In Embedded Systems, number 1494 in LNCS, pages 114–152. Springer-Verlag, October 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miné, A. (2001). A New Numerical Abstract Domain Based on Difference-Bound Matrices. In: Danvy, O., Filinski, A. (eds) Programs as Data Objects. PADO 2001. Lecture Notes in Computer Science, vol 2053. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44978-7_10
Download citation
DOI: https://doi.org/10.1007/3-540-44978-7_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42068-2
Online ISBN: 978-3-540-44978-2
eBook Packages: Springer Book Archive