English
Related papers

Related papers: Synthesising Interprocedural Bit-Precise Terminati…

200 papers

Termination analysis of C programs is a challenging task. On the one hand, the analysis needs to be precise enough to draw meaningful conclusions. On the other hand, relevant programs in practice are large and require substantial…

Logic in Computer Science · Computer Science 2025-06-13 Frank Emrich , Jera Hensel , Jürgen Giesl

There are many techniques and tools for termination of C programs, but up to now they were not very powerful for termination proofs of programs whose termination depends on recursive data structures like lists. We present the first approach…

Logic in Computer Science · Computer Science 2023-07-21 Jera Hensel , Jürgen Giesl

Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis are divided into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances…

Programming Languages · Computer Science 2021-09-16 Shaowei Zhu , Zachary Kincaid

There are many techniques and tools to prove termination of C programs, but up to now these tools were not very powerful for fully automated termination proofs of programs whose termination depends on recursive data structures like lists.…

Logic in Computer Science · Computer Science 2023-06-06 Jera Hensel , Jürgen Giesl

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

We propose a modular method for proving termination of general logic programs (i.e., logic programs with negation). It is based on the notion of acceptable programs, but it allows us to prove termination in a truly modular way. We consider…

Logic in Computer Science · Computer Science 2025-06-18 Annalisa Bossi , Nicoletta Cocco , Sandro Etalle , Sabina Rossi

We present cTI, the first system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis and checking. Traditionally, a termination analyzer tries to prove that a given class of…

Programming Languages · Computer Science 2007-05-23 Fred Mesnard , Roberto Bagnara

Proving program termination is typically done by finding a well-founded ranking function for the program states. Existing termination provers typically find ranking functions using either linear algebra or templates. As such they are often…

Logic in Computer Science · Computer Science 2014-10-21 Cristina David , Daniel Kroening , Matt Lewis

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

There are two kinds of approaches for termination analysis of logic programs: "transformational" and "direct" ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a…

Logic in Computer Science · Computer Science 2008-09-01 P. Schneider-Kamp , J. Giesl , A. Serebrenik , R. Thiemann

On the one hand, checking specific termination proofs by hand, say using a particular collection of matrix interpretations, can be an arduous and error-prone task. On the other hand, automation of such checks would save time and help to…

Logic in Computer Science · Computer Science 2018-06-14 Jonas Schöpf , Christian Sternagel

Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with…

Logic in Computer Science · Computer Science 2012-04-16 Javier Esparza , Andreas Gaiser , Stefan Kiefer

2LS ("tools") is a verification tool for C programs, built upon the CPROVER framework. It allows one to verify user-specified assertions, memory safety properties (e.g. buffer overflows), numerical overflows, division by zero, memory leaks,…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Viktor Malík , Peter Schrammel , Tomáš Vojnar

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

This paper describes a general framework for automatic termination analysis of logic programs, where we understand by ``termination'' the finitenes s of the LD-tree constructed for the program and a given query. A general property of…

Programming Languages · Computer Science 2020-06-11 Nachum Dershowitz , Naomi Lindenstrauss , Yehoshua Sagiv , Alexander Serebrenik

We present a novel approach to termination analysis. In a first step, the analysis uses a program as a black-box which exhibits only a finite set of sample traces. Each sample trace is infinite but can be represented by a finite lasso. The…

Logic in Computer Science · Computer Science 2022-10-18 Matthias Heizmann , Jochen Hoenicke , Andreas Podelski

Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator.…

Logic in Computer Science · Computer Science 2010-07-29 Peter Schneider-Kamp , Jürgen Giesl , Thomas Ströder , Alexander Serebrenik , René Thiemann

We introduce a novel approach to the automated termination analysis of computer programs: we use neural networks to represent ranking functions. Ranking functions map program states to values that are bounded from below and decrease as a…

Machine Learning · Computer Science 2022-09-07 Mirco Giacobbe , Daniel Kroening , Julian Parsert

Determining whether a program terminates is a core challenge in program analysis with direct implications for correctness, verification, and security. We investigate whether transformer architectures can recognise termination patterns…

Programming Languages · Computer Science 2026-04-02 Yoav Alon , Cristina David

We describe an algorithm for proving termination of programs abstracted to systems of monotonicity constraints in the integer domain. Monotonicity constraints are a non-trivial extension of the well-known size-change termination method.…

Logic in Computer Science · Computer Science 2011-08-01 Michael Codish , Igor Gonopolskiy , Amir M. Ben-Amram , Carsten Fuhs , Jürgen Giesl
‹ Prev 1 2 3 10 Next ›