Geometric Nontermination Arguments

We present a new kind of nontermination argument, called geometric nontermination argument. The geometric nontermination argument is a finite representation of an infinite execution that has the form of a sum of several geometric series. For so-called linear lasso programs we can decide the existence of a geometric nontermination argument using a nonlinear algebraic $\exists$-constraint. We show that a deterministic conjunctive loop program with nonnegative eigenvalues is nonterminating if an only if there exists a geometric nontermination argument. Furthermore, we present an evaluation that demonstrates that our method is feasible in practice.

[1]  Nir Piterman,et al.  Proving Stabilization of Biological Systems , 2011, VMCAI.

[2]  Arie Gurfinkel,et al.  Synthesizing Ranking Functions from Bits and Pieces , 2016, TACAS.

[3]  Thomas A. Henzinger,et al.  Proving non-termination , 2008, POPL '08.

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

[5]  Dirk Beyer,et al.  Reliable and Reproducible Competition Results with BenchExec and Witnesses (Report on SV-COMP 2016) , 2016, TACAS.

[6]  Marc Brockschmidt,et al.  Better Termination Proving through Cooperation , 2013, CAV.

[7]  Mohamed Faouzi Atig,et al.  Detecting Fair Non-termination in Multithreaded Programs , 2012, CAV.

[8]  Jürgen Giesl,et al.  Automatically Proving Termination and Memory Safety for Programs with Pointer Arithmetic , 2014, Journal of Automated Reasoning.

[9]  Ulrich Berger,et al.  Extracting verified decision procedures: DPLL and Resolution , 2015, Log. Methods Comput. Sci..

[10]  Jürgen Giesl,et al.  Automated Detection of Non-termination and NullPointerExceptions for Java Bytecode , 2011, FoVeOOS.

[11]  Peter W. O'Hearn,et al.  Proving Nontermination via Safety , 2014, TACAS.

[12]  Nir Piterman,et al.  On Automation of CTL* Verification for Infinite-State Systems , 2015, CAV.

[13]  Andreas Podelski,et al.  Fairness Modulo Theory: A New Approach to LTL Software Model Checking , 2015, CAV.

[14]  Philipp Rümmer,et al.  Non-termination Checking for Imperative Programs , 2008, TAP.

[15]  Andreas Podelski,et al.  Transition predicate abstraction and fair termination , 2005, POPL '05.

[16]  Andreas Podelski,et al.  Terminator: Beyond Safety , 2006, CAV.

[17]  Ashish Tiwari,et al.  Termination of Linear Programs , 2004, CAV.

[18]  Daniel Kroening,et al.  Loop Summarization Using Abstract Transformers , 2008, ATVA.

[19]  Amir M. Ben-Amram,et al.  Ranking Functions for Linear-Constraint Loops , 2012, JACM.

[20]  Elvira Albert,et al.  Closed-Form Upper Bounds in Static Cost Analysis , 2011, Journal of Automated Reasoning.

[21]  A. Rybalchenko,et al.  Transition invariants , 2004, LICS 2004.

[22]  Dejan Jovanović,et al.  Solving Non-linear Arithmetic , 2012, IJCAR.

[23]  Joel Ouaknine,et al.  On Termination of Integer Linear Loops , 2015, SODA.

[24]  Samir Genaim,et al.  On the linear ranking problem for integer linear-constraint loops , 2012, POPL.

[25]  Nir Piterman,et al.  Verifying Increasingly Expressive Temporal Logics for Infinite-State Systems , 2017, J. ACM.

[26]  Jochen Hoenicke,et al.  Termination Analysis by Learning Terminating Programs , 2014, CAV.

[27]  Peter W. O'Hearn,et al.  Disproving termination with overapproximation , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[28]  Matthias Heizmann,et al.  Ranking Templates for Linear Loops , 2015 .

[29]  Sumit Gulwani,et al.  The reachability-bound problem , 2010, PLDI '10.

[30]  Daniel Kroening,et al.  Termination Analysis with Compositional Transition Invariants , 2010, CAV.

[31]  Daniel Kroening,et al.  Unrestricted Termination and Non-termination Arguments for Bit-Vector Programs , 2014, ESOP.

[32]  Moshe Y. Vardi,et al.  Temporal property verification as a program analysis task , 2011, Formal Methods Syst. Des..

[33]  Moshe Y. Vardi,et al.  Temporal property verification as a program analysis task , 2012, Formal Methods Syst. Des..

[34]  Andreas Podelski,et al.  A Sound and Complete Proof Rule for Region Stability of Hybrid Systems , 2007, HSCC.

[35]  Arnaldo Vieira Moura,et al.  Characterization of Termination for Linear Homogeneous Programs , 2014 .

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

[37]  Nir Piterman,et al.  Finding Recurrent Sets with Backward Analysis and Trace Partitioning , 2016, TACAS.

[38]  Shengchao Qin,et al.  Termination and non-termination specification inference , 2015, PLDI.

[39]  Mark Braverman,et al.  Termination of Integer Linear Programs , 2006, CAV.

[40]  Daniel Larraz,et al.  Proving Non-termination Using Max-SMT , 2014, CAV.

[41]  William R. Harris,et al.  Alternation for Termination , 2010, SAS.

[42]  Marc Brockschmidt,et al.  T2: Temporal Property Verification , 2016, TACAS.