中文
相关论文

相关论文: A General Framework for Automatic Termination Anal…

200 篇论文

While there is a long tradition of reasoning about (non)termination in program analysis, specialized logics are typically needed to give different termination criteria. This includes partial correctness, where termination is not guaranteed,…

计算机科学中的逻辑 · 计算机科学 2025-06-24 James Li , Noam Zilberstein , Alexandra Silva

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…

编程语言 · 计算机科学 2021-09-16 Shaowei Zhu , Zachary Kincaid

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 to overcome these…

编程语言 · 计算机科学 2007-05-23 Alexander Serebrenik , Danny De Schreye

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…

计算机科学中的逻辑 · 计算机科学 2025-06-18 Annalisa Bossi , Nicoletta Cocco , Sandro Etalle , Sabina Rossi

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…

计算机科学中的逻辑 · 计算机科学 2022-10-18 Matthias Heizmann , Jochen Hoenicke , Andreas Podelski

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…

编程语言 · 计算机科学 2026-01-27 Amir M. Ben-Amram , Samir Genaim , Joël Ouaknine , James Worrell

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…

编程语言 · 计算机科学 2012-04-03 Roberto Bagnara , Fred Mesnard , Andrea Pescetti , Enea Zaffanella

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…

计算机科学中的逻辑 · 计算机科学 2023-07-21 Jera Hensel , Jürgen Giesl

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…

计算机科学中的逻辑 · 计算机科学 2017-01-31 Włodzimierz Drabent

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…

编程语言 · 计算机科学 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…

计算机科学中的逻辑 · 计算机科学 2014-10-21 Cristina David , Daniel Kroening , Matt Lewis

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…

计算机科学中的逻辑 · 计算机科学 2009-09-25 Jan-Georg Smaus , Patricia M. Hill , Andy King

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

计算与语言 · 计算机科学 2026-05-27 Oren Sultan , Jordi Armengol-Estape , Pascal Kesseli , Julien Vanegue , Dafna Shahaf , Yossi Adi , Peter O'Hearn

In the past years, analyzers have been introduced to detect classes of non-terminating queries for definite logic programs. Although these non-termination analyzers have shown to be rather precise, their applicability on real-life Prolog…

编程语言 · 计算机科学 2011-09-16 Dean Voets , Danny De Schreye

Termination of logic programs depends critically on the selection rule, i.e. the rule that determines which atom is selected in each resolution step. In this article, we classify programs (and queries) according to the selection rules for…

计算机科学中的逻辑 · 计算机科学 2007-05-23 Dino Pedreschi , Salvatore Ruggieri , Jan-Georg Smaus

On the one hand, termination analysis of logic programs is now a fairly established research topic within the logic programming community. On the other hand, non-termination analysis seems to remain a much less attractive subject. If we…

编程语言 · 计算机科学 2009-01-10 Etienne Payet , Fred Mesnard

Program correctness (in imperative and functional programming) splits in logic programming into correctness and completeness. Completeness means that a program produces all the answers required by its specification. Little work has been…

计算机科学中的逻辑 · 计算机科学 2014-11-13 Wlodzimierz Drabent

Model checking properties are often described by means of finite automata. Any particular such automaton divides the set of infinite trees into finitely many classes, according to which state has an infinite run. Building the full type…

计算机科学中的逻辑 · 计算机科学 2015-07-01 Klaus Aehlig

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

软件工程 · 计算机科学 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

Completeness of a logic program means that the program produces all the answers required by its specification. The cut is an important construct of programming language Prolog. It prunes part of the search space, this may result in a loss…

计算机科学中的逻辑 · 计算机科学 2020-01-03 Włodzimierz Drabent