Linear Ranking with Reachability

We present a complete method for synthesizing lexicographic linear ranking functions supported by inductive linear invariants for loops with linear guards and transitions. Proving termination via linear ranking functions often requires invariants; yet invariant generation is expensive. Thus, we describe a technique that discovers just the invariants necessary for proving termination. Finally, we describe an implementation of the method and provide extensive experimental evidence of its effectiveness for proving termination of C loops.

[1]  John P. Gallagher,et al.  One Loop at a Time , 2003 .

[2]  Neil D. Jones,et al.  The size-change principle for program termination , 2001, POPL '01.

[3]  Andreas Podelski,et al.  Transition invariants , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[4]  C. R. Henson Conclusion , 1969 .

[5]  Zohar Manna,et al.  A closer look at termination , 1975, Acta Informatica.

[6]  George E. Collins,et al.  Hauptvortrag: Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975, Automata Theory and Formal Languages.

[7]  George C. Necula,et al.  CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs , 2002, CC.

[8]  Henny B. Sipma,et al.  Visual Abstractions for Temporal Verification , 1999, AMAST.

[9]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[10]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

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

[13]  A. Tarski A Decision Method for Elementary Algebra and Geometry , 2023 .

[14]  Michael Karr,et al.  Affine relationships among variables of a program , 1976, Acta Informatica.

[15]  Henny B. Sipma,et al.  Scalable Analysis of Linear Systems Using Mathematical Programming , 2005, VMCAI.

[16]  Henny B. Sipma,et al.  Practical Methods for Proving Program Termination , 2002, CAV.

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

[18]  Nachum Dershowitz,et al.  A General Framework for Automatic Termination Analysis of Logic Programs , 2000, Applicable Algebra in Engineering, Communication and Computing.

[19]  Henny B. Sipma,et al.  Deductive Model Checking , 1996, Formal Methods Syst. Des..

[20]  Henny B. Sipma,et al.  Constraint-Based Linear-Relations Analysis , 2004, SAS.

[21]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[22]  George E. Collins,et al.  Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975 .

[23]  Andreas Podelski,et al.  A Complete Method for the Synthesis of Linear Ranking Functions , 2004, VMCAI.

[24]  Henny B. Sipma,et al.  Synthesis of Linear Ranking Functions , 2001, TACAS.