Abstract
This article presents the systematic design of a class of relational numerical abstract domains from non-relational ones. Constructed domains represent sets of invariants of the form (v j - v i ∈ C), where vj and vi are two variables, and C lives in an abstraction of \( \mathcal{P}(\mathbb{Z}) \) , \( \mathcal{P}(\mathbb{Q}) \) , or \( \mathcal{P}(\mathbb{R}) \) . We will call this family of domains weakly relational domains. The underlying concept allowing this construction is an extension of potential graphs and shortest-path closure algorithms in exotic-like algebras. Example constructions are given in order to retrieve well-known domains as well as new ones. Such domains can then be used in the Abstract Interpretation framework in order to design various static analyses. A major benefit of this construction is its modularity, allowing to quickly implement new abstract domains from existing ones.
This work was supported in part by the RTD project IST-1999-20527 “DAEDALUS” of the European IST FP5 program.
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. Interprocedural abstract interpretation of block structured languages with nested procedures, aliasing and recursivity. In Springer-Verlag, editor, PLILP’90, volume 456 of LNCS, pages 307–323, 1990.
F. Bourdoncle. Efficient chaotic iteration strategies with widenings. In FMPA’ 93, number 735 in LNCS, 1993.
M. Codish and C. Taboch. A semantic basis for termination analysis of logic programs and its realization using symbolic norm constraints. In ALP’98, volume 1298 of LNCS, pages 31–45. Springer-Verlag, September 1997.
T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithms. The MIT Press, 1990.
P. Cousot and R. Cousot. Static determination of dynamic properties of programs. In ISOP’76, pages 106–130. Dunod, Paris, France, 1976.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In ACM POPL’77, pages 238–252. ACM Press, 1977.
P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, August 1992.
P. Cousot and R. Cousot. Modular static program analysis, invited paper. In CC’02, number 2304 in LNCS, pages 159–178, 2002.
P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In A CM POPL’78, pages 84–97. ACM Press, 1978.
A. Deutsch. Interprocedural may-alias analysis for pointers: Beyond k-limiting. In ACM PLDI’94, pages 230–241. ACM Press, 1994.
N. Dor, M. Rodeh, and M. Sagiv. Cleanness checking of string manipulations in C programs via integer analysis. In SAS’01, number 2126 in LNCS, July 2001.
J. Feret. Occurrence counting analysis for the π-calculus. In GETCO’00, volume 39.2 of BRICS NS-00-3, 2001.
M. Gondran and M. Minoux. Graphs and Algorithms. Wiley, 1984.
P. Granger. Static analysis of arithmetical congruences. In International Journal of Computer Mathematics, volume 30, pages 165–190, 1989.
P. Granger. Static analysis of linear congruence equalities among variables of a program. In TAPSOFT’91, number 493 in LNCS, pages 169–192, 1991.
P. Granger. Static analyses of congruence properties on rational numbers. In SAS’97, volume 1302 of LNCS, pages 278–292, 1997.
W. Harvey and P. Stuckey. A unit two variable per inequality integer constraint solver for constraint logic programming. In ACSC’97, volume 19, pages 102–111, February 1997.
M. Karr. Affine relationships among variables of a program. Acta Informatica, pages 133–151, 1976.
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.
F. Masdupuy. Semantic analysis of interval congruences. In FMPTA’ 93, volume 735 of LNCS, pages 142–155, 1993.
L. Mauborgne. Representation of Sets of Trees for Abstract Interpretation. PhD thesis, École Polytechnique, Palaiseau, France, November 1999.
A. Miné. A new numerical abstract domain based on difference-bound matrices. In PADO II, volume 2053 of LNCS, pages 155–172. Springer-Verlag, May 2001.
A. Miné. The octagon abstract domain. In AST 2001 in WCRE 2001, IEEE, pages 310–319. IEEE CS Press, October 2001.
D. Monniaux. An abstract Monte-Carlo method for the analysis of probabilistic programs. In POPL’01, number 1824 in ACM, pages 93–101, 2001.
V. Pratt. Two easy theories whose combination is hard. Technical report, Massachusetts Institute of Technology, Cambridge, September 1977.
R. Shostak. Deciding linear inequalities by computing loop residues. Journal of the ACM, 28(4):769–779, October 1981.
D. Toman and J. Chomicki. Datalog with integer periodicity constraints. In Journal of Logic Programming, pages 189–203. The MIT Press, 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miné, A. (2002). A Few Graph-Based Relational Numerical Abstract Domains. In: Hermenegildo, M.V., Puebla, G. (eds) Static Analysis. SAS 2002. Lecture Notes in Computer Science, vol 2477. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45789-5_11
Download citation
DOI: https://doi.org/10.1007/3-540-45789-5_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44235-6
Online ISBN: 978-3-540-45789-3
eBook Packages: Springer Book Archive