English
Related papers

Related papers: Solving Invariant Generation for Unsolvable Loops

200 papers

We propose a new approach to automated theorem proving where an AlphaZero-style agent is self-training to refine a generic high-level expert strategy expressed as a nondeterministic program. An analogous teacher agent is self-training to…

Artificial Intelligence · Computer Science 2023-09-12 Jonathan Laurent , André Platzer

Continuous invariants are an important component in deductive verification of hybrid and continuous systems. Just like discrete invariants are used to reason about correctness in discrete systems without having to unroll their loops,…

Symbolic Computation · Computer Science 2021-02-09 Andrew Sogokon , Stefan Mitsch , Yong Kiam Tan , Katherine Cordwell , André Platzer

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

We describe the LoopInvGen tool for generating loop invariants that can provably guarantee correctness of a program with respect to a given specification. LoopInvGen is an efficient implementation of the inference technique originally…

Programming Languages · Computer Science 2019-11-01 Saswat Padhi , Rahul Sharma , Todd Millstein

Invariants are a set of properties over program attributes that are expected to be true during the execution of a program. Since developing those invariants manually can be costly and challenging, there are a myriad of approaches that…

Robotics · Computer Science 2020-12-15 Meriel Stein , Sebastian Elbaum , Lu Feng , Shili Sheng

In this paper, we propose an approach to automatically compute invariant clusters for semialgebraic hybrid systems. An invariant cluster for an ordinary differential equation (ODE) is a multivariate polynomial invariant g(u,x)=0, parametric…

Optimization and Control · Mathematics 2016-05-06 Hui Kong , Sergiy Bogomolov , Christian Schilling , Yu Jiang , Thomas A. Henzinger

In the verification of loop programs, disjunctive invariants are essential to capture complex loop dynamics such as phase and mode changes. In this work, we develop a novel approach for the automated generation of affine disjunctive…

Logic in Computer Science · Computer Science 2024-11-20 Jingyu Ke , Hongfei Fu , Hongming Liu , Zhouyue Sun , Liqian Chen , Guoqiang Li

We show that computing the strongest polynomial invariant for single-path loops with polynomial assignments is at least as hard as the Skolem problem, a famous problem whose decidability has been open for almost a century. While the…

Programming Languages · Computer Science 2023-11-15 Julian Müllner , Marcel Moosbrugger , Laura Kovács

Continuous linear dynamical systems are used extensively in mathematics, computer science, physics, and engineering to model the evolution of a system over time. A central technique for certifying safety properties of such systems is by…

Logic in Computer Science · Computer Science 2020-04-29 Shaull Almagor , Edon Kelmendi , Joël Ouaknine , James Worrell

Essential tasks for the verification of probabilistic programs include bounding expected outcomes and proving termination in finite expected runtime. We contribute a simple yet effective inductive synthesis approach for proving such…

Logic in Computer Science · Computer Science 2023-02-09 Kevin Batz , Mingshuai Chen , Sebastian Junges , Benjamin Lucien Kaminski , Joost-Pieter Katoen , Christoph Matheja

The discovery of inductive invariants lies at the heart of static program verification. Presently, many automatic solutions to inductive invariant generation are inflexible, only applicable to certain classes of programs, or unpredictable.…

Software Engineering · Computer Science 2017-06-16 Adam Betts , Nathan Chong , Pantazis Deligiannis , Alastair F. Donaldson , Jeroen Ketema

We study possibilities for automated invariant generation in parametric systems. We use (a refinement of) an algorithm for symbol elimination in theory extensions to devise a method for iteratively strengthening certain classes of safety…

Logic in Computer Science · Computer Science 2019-05-30 Dennis Peuter , Viorica Sofronie-Stokkermans

Automatic software generation based on some specification is known as program synthesis. Most existing approaches formulate program synthesis as a search problem with discrete parameters. In this paper, we present a novel formulation of…

Artificial Intelligence · Computer Science 2023-04-04 Shantanu Mandal , Todd A. Anderson , Javier Turek , Justin Gottschlich , Abdullah Muzahid

We consider imperative programs that involve both randomization and pure nondeterminism. The central question is how to find a strategy resolving the pure nondeterminism such that the so-obtained determinized program satisfies a given…

Logic in Computer Science · Computer Science 2023-11-15 Kevin Batz , Tom Jannik Biskup , Joost-Pieter Katoen , Tobias Winkler

Many constraints restricting the result of some computations over an integer sequence can be compactly represented by register automata. We improve the propagation of the conjunction of such constraints on the same sequence by synthesising…

Artificial Intelligence · Computer Science 2019-01-29 Ekaterina Arafailova , Nicolas Beldiceanu , Helmut Simonis

Verifiers that can prove programs correct against their full functional specification require, for programs with loops, additional annotations in the form of loop invariants---propeties that hold for every iteration of a loop. We show that…

Software Engineering · Computer Science 2016-02-09 Juan P. Galeotti , Carlo A. Furia , Eva May , Gordon Fraser , Andreas Zeller

Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim…

Software Engineering · Computer Science 2019-11-22 Jun Sun , Long H. Pham , Lyly Tran Thi , Jingyi Wang , Xin Peng

A first step towards more reliable software is to execute each statement and each control-flow path in a method once. In this paper, we present a formal method to automatically compute test cases for this purpose based on the idea of a…

Programming Languages · Computer Science 2012-05-31 Jürgen Christ , Jochen Hoenicke , Martin Schäf

Increasing demands in software industry and scarcity of software engineers motivates researchers and practitioners to automate the process of software generation and configuration. Large scale automatic software generation and configuration…

Software Engineering · Computer Science 2023-05-31 Shantanu Mandal

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia