English
Related papers

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

200 papers

Termination of logic programs with negated body atoms (here called general logic programs) is an important topic. One reason is that many computational mechanisms used to process negated atoms, like Clark's negation as failure and Chan's…

Artificial Intelligence · Computer Science 2014-11-17 E. Marchiori

Determining whether a program terminates is a central problem in computer science. Turing's Halting Problem established termination as undecidable, showing that no algorithm can universally determine termination for all programs and inputs.…

Computation and Language · Computer Science 2026-05-27 Oren Sultan , Jordi Armengol-Estape , Pascal Kesseli , Julien Vanegue , Dafna Shahaf , Yossi Adi , Peter O'Hearn

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

We study the recursion-theoretic complexity of Positive Almost-Sure Termination ($\mathsf{PAST}$) in an imperative programming language with rational variables, bounded nondeterministic choice, and discrete probabilistic choice. A program…

Programming Languages · Computer Science 2023-10-30 Rupak Majumdar , V. R. Sathiyanarayana

We consider the problem of automatically verifying programs which manipulate arbitrary data structures. Our specification language is expressive, contains a notion of \emph{separation}, and thus enables a precise specification of…

Programming Languages · Computer Science 2017-11-16 Duc-Hiep Chu , Joxan Jaffar

We present verification methods for logic programs with delay declarations. The verified properties are termination and freedom from errors related to built-ins. Concerning termination, we present two approaches. The first approach tries to…

Logic in Computer Science · Computer Science 2009-09-25 Jan-Georg Smaus , Patricia M. Hill , Andy King

We present a heuristic framework for attacking the undecidable termination problem of logic programs, as an alternative to current termination/non-termination proof approaches. We introduce an idea of termination prediction, which predicts…

Programming Languages · Computer Science 2009-05-14 Yi-Dong Shen , Danny De Schreye , Dean Voets

Programs for multiprocessor machines commonly perform busy-waiting for synchronisation. In this paper, we make a first step towards proving termination of such programs. We approximate (i) arbitrary waitable events by abrupt program…

Logic in Computer Science · Computer Science 2020-07-22 Tobias Reinhard , Amin Timany , Bart Jacobs

Programs for multiprocessor machines commonly perform busy-waiting for synchronisation. In this paper, we make a first step towards proving termination of such programs. We approximate (i) arbitrary waitable events by abrupt program…

Logic in Computer Science · Computer Science 2020-10-19 Tobias Reinhard , Amin Timany , Bart Jacobs

Difference constraints have been used for termination analysis in the literature, where they denote relational inequalities of the form x' <= y + c, and describe that the value of x in the current state is at most the value of y in the…

Programming Languages · Computer Science 2015-08-21 Moritz Sinn , Florian Zuleger , Helmut Veith

This paper shows that it is possible to reason about the safety and termination of programs handling potentially cyclic, singly-linked lists using propositional reasoning even when the safety invariants and termination arguments depend on…

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

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the satisfiability of sets of ground literals in theory T. If a sound and complete inference system for…

Artificial Intelligence · Computer Science 2015-02-11 Alessandro Armando , Maria Paola Bonacina , Silvio Ranise , Stephan Schulz

Program termination is a hot research topic in program analysis. The last few years have witnessed the development of termination analyzers for programming languages such as C and Java with remarkable precision and performance. These…

Programming Languages · Computer Science 2013-07-26 Roberto Bagnara , Fred Mesnard

Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles…

Logic in Computer Science · Computer Science 2010-10-01 Alwen Tiu , Alberto Momigliano

`What more than its truth do we know if we have a proof of a theorem in a given formal system?' We examine Kreisel's question in the particular context of program termination proofs, with an eye to deriving complexity bounds on program…

Logic in Computer Science · Computer Science 2014-09-26 Sylvain Schmitz

In this paper, we study classes of structures and individual structures for which programs implementing functions defined everywhere are equivalent to finite tree-programs. The programs under consideration may have cycles and at most…

Logic in Computer Science · Computer Science 2025-01-06 Mikhail Moshkov

Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been…

Programming Languages · Computer Science 2018-02-20 Alexander J. Summers , Peter Müller

We present the first approach to prove non-termination of integer programs that is based on loop acceleration. If our technique cannot show non-termination of a loop, it tries to accelerate it instead in order to find paths to other…

Logic in Computer Science · Computer Science 2019-08-09 Florian Frohn , Jürgen Giesl

A remarkable new definition of a self-delimiting universal Turing machine is presented that is easy to program and runs very quickly. This provides a new foundation for algorithmic information theory. This new universal Turing machine is…

chao-dyn · Physics 2008-02-03 G. J. Chaitin