Abstract
We present a novel static analysis for approximating the algebraic relational semantics of imperative programs. Our method is based on abstract interpretation in the lattice of polynomial pseudo ideals of bounded degree – finite-dimensional vector spaces of polynomials of bounded degree which are closed under bounded degree products. For a fixed bound, the space complexity of our approach and the iterations required to converge on fixed points are bounded by a polynomial in the number of program variables. Nevertheless, for several programs taken from the literature on non-linear polynomial invariant generation, our analysis produces results that are as precise as those produced by more heavy-weight Gröbner basis methods.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Becker, T., Weispfenning, V.: Gröbner Bases: A Computational Approach to Commutative Algebra. Springer, New York (1993)
Colmerauer, A.: Naive solving of non-linear constraints. In: Benhamou, F., Colmerauer, A. (eds.) Constraint Logic Programming: Selected Research, pp. 89–112. MIT Press, Cambridge (1993)
Cousot, P.: Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Electronic Notes in Theoretical Computer Science, vol. 6 (1997), http://www.elsevier.nl/locate/entcs/volume6.html
Cousot, P., Cousot, R.: Abstract Interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the 4th ACM Symposium on Principles of Programming Languages, pp. 238–252 (1977)
Cousot, P., Cousot, R.: Automatic synthesis of optimal invariant assertions: Mathematical foundations. In: Proceedings of the ACM Symposium on Artificial Intelligence and Programming Languages, pp. 1–12 (1977)
Cousot, P., Cousot, R.: Comparing the Galois connection and widening/ narrowing approaches to Abstract Interpretation. In: Bruynooghe, M., Wirsing, M. (eds.) Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming, pp. 269–295. Springer, Heidelberg (1992)
Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Conference Record of the 5th ACM Symposium on Principles of Programming Languages, pp. 84–96 (1978)
Cox, D., Little, J., O’Shea, D.: Ideals, Varieties, and Algorithms. An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, New York (1992)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Inc., Englewood Cliffs (1976)
Fröberg, R.: An Introduction to Gröbner Bases. John Wiley & Sons, Chichester (1997)
German, S.M., Wegbreit, B.: A synthesizer of inductive assertions. IEEE Transactions on Software Engineering SE-1(1), 68–75 (1975)
Granger, P.: Static analysis of linear congruence equalities among variables of a program. In: Abramsky, S., Maibaum, T.S.E. (eds.) Proceedings of the International Joint Conference on Theory and Practice of Software Development, pp. 169–192. Springer, Heidelberg (1991)
Halbwachs, N., Proy, Y.-E., Roumanoff, P.: Verification of real-time systems using linear relation analysis. Formal Methods in System Design 11(2), 157–185 (1997)
Karr, M.: Affine relationships among variables of a program. Acta Informatica 6, 133–151 (1976)
Katz, S., Manna, Z.: Logical analysis of programs. Communications of the ACM 19(4), 188–206 (1976)
Kaye, R.W., Wilson, R.: Linear Algebra. Oxford University Press, Oxford (1998)
Manna, Z.: Mathematical Theory of Computation. McGraw-Hill, New York (1974)
Mastroeni, I.: Numerical power analysis. In: Proceedings of the 2nd Symposium on Programs as Data Objects, pp. 117–137. Springer, Heidelberg (2001)
Mayr, E.W., Meyer, A.R.: The complexity of the word problems for commutative semigroups and polynomial ideals. Adv. Math. 46, 305–329 (1982)
Mili, A.: A relational approach to the design of deterministic programs. Acta Informatica 20, 315–328 (1983)
Mills, H.: The new math of computer programming. Communications of the ACM 18(1), 43–48 (1975)
Müller-Olm, M., Seidl, H.: Precise interprocedural analysis through linear algebra. In: Jones, N.D., Leroy, X. (eds.) 31st ACM Symposium on Principles of Programming Languages, pp. 330–341 (2004)
Rodríguez-Carbonell, E., Kapur, D.: Automatic generation of polynomial loop invariants for imperative programs. Technical Report TR-CS-2003-39, University of New Mexico (2003)
Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Non-linear loop invariant generation using Gröbner bases. In: Jones, N.D., Leroy, X. (eds.) 31st ACM Symposium on Principles of Programming Languages, pp. 318–329 (2004)
Strang, G.: Linear Algebra and Its Applications. Harcourt Brace Jovanovich, San Diego (1988)
Wegbreit, B.: Property extraction in well-founded property sets. IEEE Transactions on Software Engineering SE-1(3), 270–285 (1975)
Yap, C.K.: A new lower bound construction for the word problem for commutative Thue systems. Journal of Symbolic Computation 12(1), 1–28 (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Colón, M.A. (2004). Approximating the Algebraic Relational Semantics of Imperative Programs. In: Giacobazzi, R. (eds) Static Analysis. SAS 2004. Lecture Notes in Computer Science, vol 3148. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27864-1_22
Download citation
DOI: https://doi.org/10.1007/978-3-540-27864-1_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22791-5
Online ISBN: 978-3-540-27864-1
eBook Packages: Springer Book Archive