English
Related papers

Related papers: Distilling Programs to Prove Termination

200 papers

The termination behavior of probabilistic programs depends on the outcomes of random assignments. Almost sure termination (AST) is concerned with the question whether a program terminates with probability one on all possible inputs.…

Programming Languages · Computer Science 2021-01-29 Marcel Moosbrugger , Ezio Bartocci , Joost-Pieter Katoen , Laura Kovács

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

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

The term {\em meta-programming} refers to the ability of writing programs that have other programs as data and exploit their semantics. The aim of this paper is presenting a methodology allowing us to perform a correct termination analysis…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

In this note, we show the class of finite, epistemic programs to be Turing complete. Epistemic programs is a widely used update mechanism used in epistemic logic, where it such are a special type of action models: One which does not contain…

Formal Languages and Automata Theory · Computer Science 2017-06-22 Dominik Klein , Rasmus K. Rendsvig

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

Synthesizing ranking functions is a common technique for proving the termination of loops. A ranking function must be bounded and decrease by a specified amount with each iteration for all reachable program states. However, the set of…

Logic in Computer Science · Computer Science 2025-04-10 Yasmin Sarita , Avaljot Singh , Shaurya Gomber , Gagandeep Singh , Mahesh Vishwanathan

Termination is a central property in sequential programming models: a term is terminating if all its reduction sequences are finite. Termination is also important in concurrency in general, and for message-passing programs in particular. A…

Logic in Computer Science · Computer Science 2023-08-03 Joseph W. N. Paulus , Jorge A. Pérez , Daniele Nantes-Sobrinho

We introduce a method of verifying termination of logic programs with respect to concrete queries (instead of abstract query patterns). A necessary and sufficient condition is established and an algorithm for automatic verification is…

Artificial Intelligence · Computer Science 2007-05-23 Yi-Dong Shen , Li-Yan Yuan , Jia-Huai You

Human reasoning can distill principles from observed patterns and generalize them to explain and solve novel problems. The most powerful artificial intelligence systems lack explainability and symbolic reasoning ability, and have therefore…

Machine Learning · Computer Science 2021-11-17 Paul J. Blazek , Kesavan Venkatesh , Milo M. Lin

Loop invariants play a central role in the verification of imperative programs. However, finding these invariants is often a difficult and time-consuming task for the programmer. We have previously shown how program transformation can be…

Logic in Computer Science · Computer Science 2017-08-25 G. W. Hamilton

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…

Programming Languages · Computer Science 2007-05-23 Alexander Serebrenik , Danny De Schreye

The problem of determining whether a probabilistic program terminates almost surely (i.e.~with probability one) is undecidable, and actually $\Pi^0_2$-complete. For this reason, a growing literature has explored classes of programs for…

Logic in Computer Science · Computer Science 2026-05-01 Ugo Dal Lago , Guido Fiorillo , Paolo Pistone

The transfer of knowledge from one policy to another is an important tool in Deep Reinforcement Learning. This process, referred to as distillation, has been used to great success, for example, by enhancing the optimisation of agents,…

Type and effect systems are a tool to analyse statically the behaviour of programs with effects. We present a proof based on the so called reducibility candidates that a suitable stratification of the type and effect system entails the…

Logic in Computer Science · Computer Science 2010-07-01 Roberto Amadio

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

Programming Languages · Computer Science 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

Refinement types are a well-studied manner of performing in-depth analysis on functional programs. The dependency pair method is a very powerful method used to prove termination of rewrite systems; however its extension to higher order…

Logic in Computer Science · Computer Science 2011-01-25 Cody Roux

There is growing interest in termination reasoning for non-linear programs and, meanwhile, recent dynamic strategies have shown they are able to infer invariants for such challenging programs. These advances led us to hypothesize that…

Programming Languages · Computer Science 2020-10-13 Ton Chanh Le , Timos Antonopoulos , Parisa Fathololumi , Eric Koskinen , ThanhVu Nguyen

Termination analyses investigate the termination behavior of programs, intending to detect nontermination, which is known to cause a variety of program bugs (e.g. hanging programs, denial-of-service vulnerabilities). Beyond formal…

Software Engineering · Computer Science 2022-08-01 Yoav Alon , Cristina David

We consider the two categories of termination problems of quantum programs with nondeterminism: 1) Is an input of a program terminating with probability one under all schedulers? If not, how can a scheduler be synthesized to evidence the…

Quantum Physics · Physics 2024-02-27 Jianling Fu , Hui Jiang , Ming Xu , Yuxin Deng , Zhi-Bin Li