English
Related papers

Related papers: The Probabilistic Termination Tool Amber

200 papers

Dependency pairs are one of the most powerful techniques to analyze termination of term rewrite systems (TRSs) automatically. We adapt the dependency pair framework to the probabilistic setting in order to prove almost-sure innermost…

Logic in Computer Science · Computer Science 2023-06-06 Jan-Christoph Kassing , Jürgen Giesl

Probabilistic programs extend classical imperative programs with real-valued random variables and random branching. The most basic liveness property for such programs is the termination property. The qualitative (aka almost-sure)…

Programming Languages · Computer Science 2017-09-14 Sheshansh Agrawal , Krishnendu Chatterjee , Petr Novotný

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

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

Termination analysis of C programs is a challenging task. On the one hand, the analysis needs to be precise enough to draw meaningful conclusions. On the other hand, relevant programs in practice are large and require substantial…

Logic in Computer Science · Computer Science 2025-06-13 Frank Emrich , Jera Hensel , Jürgen Giesl

The problem of determining whether or not any program terminates was shown to be undecidable by Turing, but recent advances in the area have allowed this information to be determined for a large class of programs. The classic method for…

Logic in Computer Science · Computer Science 2020-08-10 G. W. Hamilton

Our goal is to study the feasibility of porting termination analysis techniques developed for one programming paradigm to another paradigm. In this paper, we show how to adapt termination analysis techniques based on polynomial…

Programming Languages · Computer Science 2009-12-23 Manh Thang Nguyen , Danny De Schreye , Jürgen Giesl , Peter Schneider-Kamp

In this paper we present methods for the synthesis of polynomial invariants for probabilistic transition systems. Our approach is based on martingale theory. We construct invariants in the form of polynomials over program variables, which…

Logic in Computer Science · Computer Science 2019-10-29 Anne Schreuder , C. -H. Luke Ong

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

As machine learning is increasingly used in essential systems, it is important to reduce or eliminate the incidence of serious bugs. A growing body of research has developed machine learning algorithms with formal guarantees about…

Machine Learning · Computer Science 2020-07-15 Jean-Baptiste Tristan , Joseph Tassarotti , Koundinya Vajjha , Michael L. Wick , Anindya Banerjee

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ć

This work offers a broad perspective on probabilistic modeling and inference in light of recent advances in probabilistic programming, in which models are formally expressed in Turing-complete programming languages. We consider a typical…

Machine Learning · Statistics 2020-04-20 Lawrence M. Murray , Thomas B. Schön

Computing reachability probabilities is a fundamental problem in the analysis of probabilistic programs. This paper aims at a comprehensive and comparative account on various martingale-based methods for over- and under-approximating…

Programming Languages · Computer Science 2018-11-16 Toru Takisaka , Yuichiro Oyabu , Natsuki Urabe , Ichiro Hasuo

We present the Polar framework for fully automating the analysis of classical and probabilistic loops using algebraic reasoning. The central theme in Polar comes with handling algebraic recurrences that precisely capture the loop semantics.…

Programming Languages · Computer Science 2026-02-17 Marcel Moosbrugger , Julian Müllner , Ezio Bartocci , Laura Kovács

We study monads resulting from the combination of nondeterministic and probabilistic behaviour with the possibility of termination, which is essential in program semantics. Our main contributions are presentation results for the monads,…

Logic in Computer Science · Computer Science 2021-04-22 Matteo Mio , Ralph Sarkis , Valeria Vignudelli

Probabilistic programming combines general computer programming, statistical inference, and formal semantics to help systems make decisions when facing uncertainty. Probabilistic programs are ubiquitous, including having a significant…

Logic in Computer Science · Computer Science 2024-09-30 Kangfeng Ye , Jim Woodcock , Simon Foster

Randomized higher-order computation can be seen as being captured by a lambda calculus endowed with a single algebraic operation, namely a construct for binary probabilistic choice. What matters about such computations is the probability of…

Logic in Computer Science · Computer Science 2020-12-24 Ugo Dal Lago , Claudia Faggian , Simona Ronchi Della Rocca

We present an approach for testing student learning outcomes in a course on automated reasoning using the Isabelle proof assistant. The approach allows us to test both general understanding of formal proofs in various logical proof systems…

Logic in Computer Science · Computer Science 2023-03-13 Frederik Krogsdal Jacobsen , Jørgen Villadsen

The notion of program sensitivity (aka Lipschitz continuity) specifies that changes in the program input result in proportional changes to the program output. For probabilistic programs the notion is naturally extended to expected…

Programming Languages · Computer Science 2019-10-29 Peixin Wang , Hongfei Fu , Krishnendu Chatterjee , Yuxin Deng , Ming Xu

Algebraic effects and handlers are a mechanism to structure programs with computational effects in a modular way. They are recently gaining popularity and being adopted in practical languages, such as OCaml. Meanwhile, there has been…

Programming Languages · Computer Science 2023-11-20 Fuga Kawamata , Hiroshi Unno , Taro Sekiyama , Tachio Terauchi