English
Related papers

Related papers: Proving Non-Termination via Loop Acceleration

200 papers

We present a set of rules for compiling a Dalvik bytecode program into a logic program with array constraints. Non-termination of the resulting program entails that of the original one, hence the techniques we have presented before for…

Programming Languages · Computer Science 2014-12-12 Etienne Payet , Fred Mesnard

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.…

Logic in Computer Science · Computer Science 2016-09-20 Jan Leike , Matthias Heizmann

While there are many approaches for automatically proving termination of term rewrite systems, up to now there exist only few techniques to disprove their termination automatically. Almost all of these techniques try to find loops, where…

Logic in Computer Science · Computer Science 2010-12-30 René Thiemann , Christian Sternagel , Jürgen Giesl , Peter Schneider-Kamp

This Survey provides an overview of techniques in termination analysis for programs with numerical variables and transitions defined by linear constraints. This subarea of program analysis is challenging due to the existence of undecidable…

Programming Languages · Computer Science 2026-01-27 Amir M. Ben-Amram , Samir Genaim , Joël Ouaknine , James Worrell

The general setting of this work is the constraint-based synthesis of termination arguments. We consider a restricted class of programs called lasso programs. The termination argument for a lasso program is a pair of a ranking function and…

Logic in Computer Science · Computer Science 2014-01-22 Matthias Heizmann , Jochen Hoenicke , Jan Leike , Andreas Podelski

While loops are present in virtually all imperative programming languages. They are important both for practical reasons (performing a number of iterations not known in advance) and theoretical reasons (achieving Turing completeness). In…

Programming Languages · Computer Science 2023-09-26 David Nowak , Vlad Rusu

In program semantics and verification, reasoning about loops is complicated by the need to produce two separate mathematical arguments: an invariant, for functional properties (ignoring termination); and a variant, for termination (ignoring…

Programming Languages · Computer Science 2025-04-14 Bertrand Meyer

In earlier work, we developed an approach for automatic complexity analysis of integer programs, based on an alternating modular inference of upper runtime and size bounds for program parts. In this paper, we show how recent techniques to…

Logic in Computer Science · Computer Science 2022-06-03 Jürgen Giesl , Nils Lommen , Marcel Hark , Fabian Meyer

We present an efficient approach to prove termination of monotone programs with integer variables, an expressive class of loops that is often encountered in computer programs. Our approach is based on a lightweight static analysis method…

Logic in Computer Science · Computer Science 2017-02-07 Omar Al-Bataineh , Xie Xiaofei , Mark Reynolds

We present a new approach to termination analysis of numerical computations in logic programs. Traditional approaches fail to analyse them due to non well-foundedness of the integers. We present a technique that allows overcoming these…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

Checking for Non-Termination (NT) of a given program P, i.e., determining if P has at least one non-terminating run, is an undecidable problem that continues to garner significant research attention. While unintended NT is common in…

Software Engineering · Computer Science 2024-09-23 Ravindra Metta , Hrishikesh Karmarkar , Kumar Madhukar , R Venkatesh , Supratik Chakraborty , Samarjit Chakraborty

Detecting non-termination is crucial for ensuring program correctness and security, such as preventing denial-of-service attacks. While termination analysis has been studied for many years, existing methods have limited scalability and are…

Software Engineering · Computer Science 2023-12-07 Yao Zhang , Xiaofei Xie , Yi Li , Sen Chen , Cen Zhang , Xiaohong Li

We recently proposed Acceleration Driven Clause Learning (ADCL), a novel calculus to analyze satisfiability of Constrained Horn Clauses (CHCs). Here, we adapt ADCL to disprove termination of transition systems, and we evaluate its…

Logic in Computer Science · Computer Science 2023-07-20 Florian Frohn , Jürgen Giesl

A simple linear loop is a simple while loop with linear assignments and linear loop guards. If a simple linear loop has only two program variables, we give a complete algorithm for computing the set of all the inputs on which the loop does…

Logic in Computer Science · Computer Science 2015-03-20 Liyun Dai , Bican Xia

In this paper, we define two particular forms of non-termination, namely loops and binary chains, in an abstract framework that encompasses term rewriting and logic programming. The definition of loops relies on the notion of compatibility…

Logic in Computer Science · Computer Science 2023-12-22 Etienne Payet

We present necessary and sufficient conditions for the termination of linear homogeneous programs. We also develop a complete method to check termination for this class of programs. Our complete characterization of termination for such…

Programming Languages · Computer Science 2014-09-11 Rachid Rebiha , Arnaldo Vieira Moura , Nadir Matringe

One of the obstacles in automatic program proving is to obtain suitable loop invariants. The invariant of a loop is a weakened form of its postcondition (the loop's goal, also known as its contract); the present work takes advantage of this…

Software Engineering · Computer Science 2013-08-14 Carlo A. Furia , Bertrand Meyer

We recently proposed Acceleration Driven Clause Learning (ADCL), a novel calculus to analyze satisfiability of Constrained Horn Clauses (CHCs). Here, we adapt ADCL to transition systems and introduce ADCL-NT, a variant for disproving…

Logic in Computer Science · Computer Science 2023-07-10 Florian Frohn , Jürgen Giesl

We present a new kind of nontermination argument for linear lasso programs, called geometric nontermination argument. A geometric nontermination argument is a finite representation of an infinite execution of the form $(\vec{x} +…

Logic in Computer Science · Computer Science 2014-05-20 Jan Leike , Matthias Heizmann

When proving invariance properties of a program, we face two problems. The first problem is related to the necessity of proving tautologies of considered assertion language, whereas the second manifests in the need of finding sufficiently…

Logic in Computer Science · Computer Science 2016-11-24 Steven de Oliveira , Saddek Bensalem , Virgile Prevosto