English
Related papers

Related papers: Inferring Loop Invariants using Postconditions

200 papers

Infinite-state systems such as distributed protocols are challenging to verify using interactive theorem provers or automatic verification tools. Of these techniques, deductive verification is highly expressive but requires the user to…

Programming Languages · Computer Science 2019-05-21 Yotam M. Y. Feldman , James R. Wilcox , Sharon Shoham , Mooly Sagiv

We define a new decidable logic for expressing and checking invariants of programs that manipulate dynamically-allocated objects via pointers and destructive pointer updates. The main feature of this logic is the ability to limit the…

Logic in Computer Science · Computer Science 2007-06-13 Greta Yorsh , Alexander Rabinovich , Mooly Sagiv , Antoine Meyer , Ahmed Bouajjani

We study causal inference in a multi-environment setting, in which the functional relations for producing the variables from their direct causes remain the same across environments, while the distribution of exogenous noises may vary. We…

Machine Learning · Computer Science 2017-05-29 AmirEmad Ghassami , Saber Salehkaleybar , Negar Kiyavash , Kun Zhang

Automated program verification often proceeds by exhibiting inductive invariants entailing the desired properties.For numerical properties, a classical class of invariants is convex polyhedra: solution sets of system of linear…

Programming Languages · Computer Science 2018-05-16 David Monniaux

We present a variant of the quantum relational Hoare logic from (Unruh, POPL 2019) that allows us to use "expectations" in pre- and postconditions. That is, when reasoning about pairs of programs, our logic allows us to quantitatively…

Logic in Computer Science · Computer Science 2021-07-13 Yangjia Li , Dominique Unruh

Ensuring software correctness remains a fundamental challenge in formal program verification. One promising approach relies on finding polynomial invariants for loops. Polynomial invariants are properties of a program loop that hold before…

Symbolic Computation · Computer Science 2025-05-02 Erdenebayar Bayarmagnai , Fatemeh Mohammadi , Rémi Prébet

We describe a system to prove properties of programs. The key feature of this approach is a method to automatically synthesize inductive invariants of the loops contained in the program. The method is generic, i.e., it applies to a large…

Logic in Computer Science · Computer Science 2019-06-27 Mnacho Echenim , Nicolas Peltier , Yanis Sellami

This paper presents a program analysis method that generates program summaries involving polynomial arithmetic. Our approach builds on prior techniques that use solvable polynomial maps for summarizing loops. These techniques are able to…

Programming Languages · Computer Science 2023-12-08 John Cyphert , Zachary Kincaid

We study the complexity of invariant inference and its connections to exact concept learning. We define a condition on invariants and their geometry, called the fence condition, which permits applying theoretical results from exact concept…

Programming Languages · Computer Science 2020-11-11 Yotam M. Y. Feldman , Mooly Sagiv , Sharon Shoham , James R. Wilcox

We present in this paper a new technique for generating polynomial invariants, divided in two independent parts : a procedure that reduces polynomial assignments composed loops analysis to linear loops under certain hypotheses and a…

Logic in Computer Science · Computer Science 2016-11-24 Steven de Oliveira , Saddek Bensalem , Virgile Prevosto

Automatically generating invariants, key to computer-aided analysis of probabilistic and deterministic programs and compiler optimisation, is a challenging open problem. Whilst the problem is in general undecidable, the goal is settled for…

Programming Languages · Computer Science 2024-11-06 Daneshvar Amrollahi , Ezio Bartocci , George Kenison , Laura Kovács , Marcel Moosbrugger , Miroslav Stankovič

We introduce the notion of porous invariants for multipath (or branching/nondeterministic) affine loops over the integers; these invariants are not necessarily convex, and can in fact contain infinitely many 'holes'. Nevertheless, we show…

Logic in Computer Science · Computer Science 2021-06-02 Engel Lefaucheux , Joël Ouaknine , David Purser , James Worrell

This paper presents a new method for automatically generating numerical invariants for imperative programs. Given a program, our procedure computes a binary input/output relation on program states which over-approximates the behaviour of…

Programming Languages · Computer Science 2015-02-03 Azadeh Farzan , Zachary Kincaid

While there are many approaches for automatically proving termination of term rewrite systems, up to now there exist only few techniques to disprove their termination automatically. Almost all of these techniques try to find loops, where…

Logic in Computer Science · Computer Science 2010-12-30 René Thiemann , Christian Sternagel , Jürgen Giesl , Peter Schneider-Kamp

Human reasoning involves recognising common underlying principles across many examples. The by-products of such reasoning are invariants that capture patterns such as "if someone went somewhere then they are there", expressed using…

Machine Learning · Computer Science 2020-10-27 Nuri Cingillioglu , Alessandra Russo

Loop invariants play a very important role in proving correctness of programs. In this paper, we address the problem of generating invariants of polynomial loop programs. We present a new approach, for generating polynomial equation…

Symbolic Computation · Computer Science 2015-03-19 Bin Wu , Liyong Shen , Min Wu , Zhengfeng Yang , Zhenbing Zeng

We address the predicate generation problem in the context of loop invariant inference. Motivated by the interpolation-based abstraction refinement technique, we apply the interpolation theorem to synthesize predicates implicitly implied by…

Logic in Computer Science · Computer Science 2015-07-01 Wonchan Lee , Yungbum Jung , Bow-yaw Wang , Kwangkuen Yi

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

Proof by coupling is a classical technique for proving properties about pairs of randomized algorithms by carefully relating (or coupling) two probabilistic executions. In this paper, we show how to automatically construct such proofs for…

Programming Languages · Computer Science 2018-04-12 Aws Albarghouthi , Justin Hsu

Variational inference is a popular technique to approximate a possibly intractable Bayesian posterior with a more tractable one. Recently, boosting variational inference has been proposed as a new paradigm to approximate the posterior by a…

Machine Learning · Computer Science 2018-03-08 Francesco Locatello , Rajiv Khanna , Joydeep Ghosh , Gunnar Rätsch