English
Related papers

Related papers: Automated Termination Proofs for C Programs with L…

200 papers

Termination is an important property of programs; notably required for programs formulated in proof assistants. It is a very active subject of research in the Turing-complete formalism of term rewriting systems, where many methods and tools…

Logic in Computer Science · Computer Science 2012-03-01 Frédéric Blanqui , Adam Koprowski

Termination of programs, i.e., the absence of infinite computations, ensures the existence of normal forms for all initial expressions, thus providing an essential ingredient for the definition of a normalization semantics for functional…

Programming Languages · Computer Science 2015-12-23 Salvador Lucas

We discuss proving correctness and completeness of definite clause logic programs. We propose a method for proving completeness, while for proving correctness we employ a method which should be well known but is often neglected. Also, we…

Logic in Computer Science · Computer Science 2017-01-31 Włodzimierz Drabent

We study the almost-sure termination problem for probabilistic programs. First, we show that supermartingales with lower bounds on conditional absolute difference provide a sound approach for the almost-sure termination problem. Moreover,…

Logic in Computer Science · Computer Science 2018-08-24 Mingzhang Huang , Hongfei Fu , Krishnendu Chatterjee

In a previous work, the first author extended to higher-order rewriting and dependent types the use of size annotations in types, a termination proof technique called type or size based termination and initially developed for ML-like…

Logic in Computer Science · Computer Science 2016-08-16 Frédéric Blanqui , Colin Riba

We present a new approach to proving non-termination of non-deterministic integer programs. Our technique is rather simple but efficient. It relies on a purely syntactic reversal of the program's transition system followed by a…

Programming Languages · Computer Science 2021-04-06 Krishnendu Chatterjee , Ehsan Kafshdar Goharshady , Petr Novotný , Đorđe Žikelić

Higher-order rewriting is a framework in which one can write higher-order programs and study their properties. One such property is termination: the situation that for all inputs, the program eventually halts its execution and produces an…

Logic in Computer Science · Computer Science 2023-08-08 Niels van der Weide , Deivid Vale , Cynthia Kop

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

This paper presents the first step of a wider research effort to apply tree automata completion to the static analysis of functional programs. Tree Automata Completion is a family of techniques for computing or approximating the set of…

Logic in Computer Science · Computer Science 2014-10-14 Thomas Genet

Recent developments in termination analysis for declarative programs emphasize the use of appropriate models for the logical theory representing the program at stake as a generic approach to prove termination of declarative programs. In…

Programming Languages · Computer Science 2015-12-23 Salvador Lucas

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

The classical technique for proving termination of a generic sequential computer program involves the synthesis of a ranking function for each loop of the program. Linear ranking functions are particularly interesting because many…

Programming Languages · Computer Science 2012-04-03 Roberto Bagnara , Fred Mesnard , Andrea Pescetti , Enea Zaffanella

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

Given a machine $U$, a $c$-short program for $x$ is a string $p$ such that $U(p)=x$ and the length of $p$ is bounded by $c$ + (the length of a shortest program for $x$). We show that for any standard Turing machine, it is possible to…

Computational Complexity · Computer Science 2017-03-31 Bruno Bauwens , Anton Makhlin , Nikolay Vereshchagin , Marius Zimand

The characterisation of termination using well-founded monotone algebras has been a milestone on the way to automated termination techniques, of which we have seen an extensive development over the past years. Both the semantic…

Logic in Computer Science · Computer Science 2015-07-01 Joerg Endrullis , Roel de Vrijer , Johannes Waldmann

This paper considers the computational hardness of computing expected outcomes and deciding almost-sure termination of probabilistic programs. We show that deciding almost-sure termination and deciding whether the expected outcome of a…

Logic in Computer Science · Computer Science 2014-10-28 Benjamin Lucien Kaminski , Joost-Pieter Katoen

This paper summarises the results obtained by the author and his collaborators in a program logic approach to the verification of quantum programs, including quantum Hoare logic, invariant generation and termination analysis for quantum…

Quantum Physics · Physics 2018-08-01 Mingsheng Ying

In recent years, numerous techniques were developed to automatically prove termination of different kinds of probabilistic programs. However, there are only few automated methods to disprove their termination. In this paper, we present the…

Logic in Computer Science · Computer Science 2026-05-29 Jan-Christoph Kassing , Henri Nagel , Alexander Schlecht , Jürgen Giesl

We present a static analysis technique for non-termination inference of logic programs. Our framework relies on an extension of the subsumption test, where some specific argument positions can be instantiated while others are generalized.…

Programming Languages · Computer Science 2007-05-23 Etienne Payet , Fred Mesnard

Size-Change Termination is an increasingly-popular technique for verifying program termination. These termination proofs are deduced from an abstract representation of the program in the form of "size-change graphs". We present algorithms…

Logic in Computer Science · Computer Science 2015-07-01 Amir M. Ben-Amram , Chin Soon Lee