Discovering non-terminating inputs for multi-path polynomial programs

This paper investigates the termination problems of multi-path polynomial programs (MPPs) with equational loop guards. To establish sufficient conditions for termination and nontermination simultaneously, the authors propose the notion of strong/weak non-termination which under/over-approximates non-termination. Based on polynomial ideal theory, the authors show that the set of all strong non-terminating inputs (SNTI) and weak non-terminating inputs (WNTI) both correspond to the real varieties of certain polynomial ideals. Furthermore, the authors prove that the variety of SNTI is computable, and under some sufficient conditions the variety of WNTI is also computable. Then by checking the computed SNTI and WNTI varieties in parallel, termination properties of a considered MPP can be asserted. As a consequence, the authors establish a new framework for termination analysis of MPPs.

[1]  Andreas Podelski,et al.  Proving program termination , 2011, Commun. ACM.

[2]  David A. Cox,et al.  Ideals, Varieties, and Algorithms , 1997 .

[3]  Ernst W. Mayr,et al.  Membership in Plynomial Ideals over Q Is Exponential Space Complete , 1989, STACS.

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

[5]  Rossella Lupacchini Turing (1936), On Computable Numbers, with an Application to the Entscheidungsproblem , 2016 .

[6]  Chaochen Zhou,et al.  Recent advances in program verification through computer algebra , 2009, Frontiers of Computer Science in China.

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

[8]  Markus Müller-Olm,et al.  Computing polynomial program invariants , 2004, Inf. Process. Lett..

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

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

[11]  Zhenbing Zeng,et al.  Termination Analysis of Linear Loops , 2010, Int. J. Found. Comput. Sci..

[12]  Min Wu,et al.  Finding positively invariant sets of a class of nonlinear loops via curve fitting , 2009, SNC '09.

[13]  Deepak Kapur,et al.  A Quantifier-Elimination Based Heuristic for Automatically Generating Inductive Assertions for Programs , 2006, J. Syst. Sci. Complex..

[14]  Ming Xu,et al.  Symbolic termination analysis of solvable loops , 2013, J. Symb. Comput..

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

[16]  Bican Xia,et al.  An Algorithm for Isolating the Real Solutions of Semi-algebraic Systems , 2002, J. Symb. Comput..

[17]  Patrick Cousot,et al.  Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming , 2005, VMCAI.

[18]  Donal O'Shea,et al.  Ideals, varieties, and algorithms - an introduction to computational algebraic geometry and commutative algebra (2. ed.) , 1997, Undergraduate texts in mathematics.

[19]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[20]  Sumit Gulwani,et al.  Proving Conditional Termination , 2008, CAV.

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

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

[23]  Laura Kovács,et al.  Reasoning Algebraically About P-Solvable Loops , 2008, TACAS.

[24]  Andreas Podelski,et al.  Termination proofs for systems code , 2006, PLDI '06.

[25]  Bican Xia,et al.  DISCOVERER: a tool for solving semi-algebraic systems , 2007, ACCA.

[26]  Enric Rodríguez-Carbonell,et al.  Generating all polynomial invariants in simple loops , 2007, J. Symb. Comput..

[27]  Chaochen Zhou,et al.  Discovering Non-linear Ranking Functions by Solving Semi-algebraic Systems , 2007, ICTAC.

[28]  Henny B. Sipma,et al.  Termination of Polynomial Programs , 2005, VMCAI.

[29]  Bican Xia,et al.  Termination of linear programs with nonlinear constraints , 2010, J. Symb. Comput..

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

[31]  Bican Xia,et al.  Symbolic decision procedure for termination of linear programs , 2009, Formal Aspects of Computing.

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