Invariant relations: an automated tool to analyze loops

Since their introduction more than four decades ago, invariant assertions have, justifiably, dominated the analysis of while loops, and have been the focus of sustained research interest in the seventies and eighties, and renewed interest in the last decade. In this paper, we tentatively submit an alternative concept for the analysis of while loops, explore its attributes, its applications, and its relationship to invariant assertions. Also, we discuss the design, implementation and use of a tool that analyzes while loops using this concept.

[1]  Zohar Manna,et al.  Introduction to mathematical theory of computation , 1972 .

[2]  Ryszard Janicki,et al.  Computing Properties of Numerical Imperative Programs by Symbolic Computation , 2008, Fundam. Informaticae.

[3]  Ali Mili,et al.  On the lattice of specifications: Applications to a specification methodology , 2005, Formal Aspects of Computing.

[4]  Andrei Voronkov,et al.  Finding Loop Invariants for Programs over Arrays Using a Theorem Prover , 2009, 2009 11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[5]  Henny B. Sipma,et al.  Non-linear loop invariant generation using Gröbner bases , 2004, POPL.

[6]  Peter W. O'Hearn,et al.  Variance analyses from invariance analyses , 2007, POPL '07.

[7]  Laura Kovács,et al.  An algorithm for automated generation of invariants for loops with conditionals , 2005, Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC'05).

[8]  Stephen McCamant,et al.  The Daikon system for dynamic detection of likely invariants , 2007, Sci. Comput. Program..

[9]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[10]  John McCarthy,et al.  Mathematical Theory of Computation , 1991 .

[11]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[12]  Daniel Kroening,et al.  Loopfrog - loop summarization for static analysis , 2010, WING@ETAPS/IJCAR.

[13]  Enric Rodríguez-Carbonell,et al.  Program Verification Using Automatic Generation of Invariants , 2004, ICTAC.

[14]  Lamia Labed Jilani,et al.  Invariant assertions, invariant relations, and invariant functions , 2013, Sci. Comput. Program..

[15]  Farokh B. Bastani,et al.  Automated Discovery of Loop Invariants for High-Assurance Programs Synthesized Using AI Planning Techniques , 2008, 2008 11th IEEE High Assurance Systems Engineering Symposium.

[16]  Henny B. Sipma,et al.  Linear Invariant Generation Using Non-linear Constraint Solving , 2003, CAV.

[17]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[18]  Tudor Jebelean,et al.  Automated Generation of Loop Invariants by Recurrence Solving in Theorema , 2004 .

[19]  Lamia Labed Jilani,et al.  Reflexive transitive invariant relations: A basis for computing loop functions , 2010, J. Symb. Comput..

[20]  Ali Mili,et al.  Mathematics for reasoning about loop functions , 2009, Sci. Comput. Program..