English
Related papers

Related papers: AProVE: Modular Termination Analysis of Memory-Man…

200 papers

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

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

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems,…

Software Engineering · Computer Science 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

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

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

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

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

There are many evaluation strategies for term rewrite systems, but automatically proving termination or analyzing complexity is usually easiest for innermost rewriting. Several syntactic criteria exist when innermost termination implies…

Logic in Computer Science · Computer Science 2025-12-17 Jan-Christoph Kassing , 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

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

Programs with multiphase control-flow are programs where the execution passes through several (possibly implicit) phases. Proving termination of such programs (or inferring corresponding runtime bounds) is often challenging since it…

Programming Languages · Computer Science 2021-09-13 Jesús J. Domenech , Samir Genaim

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

It is widely acknowledged that function symbols are an important feature in answer set programming, as they make modeling easier, increase the expressive power, and allow us to deal with infinite domains. The main issue with their…

Artificial Intelligence · Computer Science 2020-02-19 Marco Calautti , Sergio Greco , Cristian Molinaro , Irina Trubitsyna

Cooperation between verification methods is crucial to tackle the challenging problem of software verification. The paper focuses on the verification of C programs using pointers and it formalizes a cooperation between static analyzers…

Programming Languages · Computer Science 2018-12-03 Bouillaguet Quentin , Bobot François , Sighireanu Mihaela , Yakobowski Boris

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

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 novel technique for proving program termination which introduces a new dimension of modularity. Existing techniques use the program to incrementally construct a termination proof. While the proof keeps changing, the program…

Logic in Computer Science · Computer Science 2015-05-26 Pierre Ganty , Samir Genaim

We present a static analysis by Abstract Interpretation to check for run-time errors in parallel and multi-threaded C programs. Following our work on Astr\'ee, we focus on embedded critical programs without recursion nor dynamic memory…

Programming Languages · Computer Science 2019-03-14 Antoine Miné

In this work, we consider the almost-sure termination problem for probabilistic programs that asks whether a given probabilistic program terminates with probability 1. Scalable approaches for program analysis often rely on modularity as…

Logic in Computer Science · Computer Science 2019-08-13 Mingzhang Huang , Hongfei Fu , Krishnendu Chatterjee , Amir Kafshdar Goharshady
‹ Prev 1 2 3 10 Next ›