English
Related papers

Related papers: Diffy: Inductive Reasoning of Array Programs using…

200 papers

This report presents the Dafny language and verifier, with a focus on describing the main features of the language, including pre- and postconditions, assertions, loop invariants, termination metrics, quantifiers, predicates and frames.…

Programming Languages · Computer Science 2014-12-16 Rachel Gauci

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

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

Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas…

Logic in Computer Science · Computer Science 2015-07-21 Constantin Enea , Mihaela Sighireanu , Zhilin Wu

Software model checking is a challenging problem, and generating relevant invariants is a key factor in proving the safety properties of a program. Program invariants can be obtained by various approaches, including lightweight procedures…

Software Engineering · Computer Science 2024-10-28 Dirk Beyer , Po-Chun Chien , Nian-Ze Lee

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

In the past years, deep learning models have been successfully applied in several cognitive tasks. Originally inspired by neuroscience, these models are specific examples of differentiable programs. In this paper we define and motivate…

Machine Learning · Computer Science 2022-05-17 Adrián Hernández , Gilles Millerioux , José M. Amigó

We want to obtain derivatives in discontinuous program code, where default Algorithmic Differentiation may not perform well. Specifically, we consider discontinuities induced by control flow statements, where meaningful derivatives should…

Programming Languages · Computer Science 2023-05-12 Sebastian Christodoulou , Uwe Naumann

Diffusion models deliver high-fidelity synthesis but remain slow due to iterative sampling. We empirically observe there exists feature invariance in deterministic sampling, and present InvarDiff, a training-free acceleration method that…

Computer Vision and Pattern Recognition · Computer Science 2025-12-08 Zihao Wu

Many Prolog programs are unnecessarily impure because of inadequate means to express syntactic inequality. While the frequently provided built-in `dif/2` is able to correctly describe expected answers, its direct use in programs often leads…

Programming Languages · Computer Science 2016-07-07 Ulrich Neumerkel , Stefan Kral

We propose a data-driven algorithm for numerical invariant synthesis and verification. The algorithm is based on the ICE-DT schema for learning decision trees from samples of positive and negative states and implications corresponding to…

Programming Languages · Computer Science 2022-07-11 Ahmed Bouajjani , Wael-Amine Boutglay , Peter Habermehl

Traditional recommendation algorithms develop techniques that can help people to choose desirable items. However, in many real-world applications, along with a set of recommendations, it is also essential to quantify each recommendation's…

Machine Learning · Computer Science 2022-01-26 Venkateswara Rao Kagita , Arun K Pujari , Vineet Padmanabhan , Vikas Kumar

The use of deductive techniques, such as theorem provers, has several advantages in safety verification of hybrid sys- tems; however, state-of-the-art theorem provers require ex- tensive manual intervention. Furthermore, there is often a…

Logic in Computer Science · Computer Science 2021-09-08 Nikos Arechiga , James Kapinski , Jyotirmoy Deshmukh , Andre Platzer , Bruce Krogh

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

The problem of detecting of information and logically independent (DILD) steps in programs is a key for equivalent program transformations. Here we are considering the problem of independence of loop iterations, the concentration of massive…

Programming Languages · Computer Science 2008-11-03 R. Nuriyev

Difference-in-differences (DiD) identification relies mainly on a parallel trends assumption about untreated potential outcomes. Researchers often relax this assumption by assuming conditional parallel trends within units with the same…

Methodology · Statistics 2026-05-05 Daniela Rodrigues , Laura A. Hatfield

We describe the design and implementation of a reasoning engine that facilitates the gamification of loop-invariant discovery. Our reasoning engine enables students, computational agents and regular software engineers with no formal methods…

Artificial Intelligence · Computer Science 2021-09-03 Andrew Walter , Seth Cooper , Panagiotis Manolios

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii

We propose an automated verification technique for hypersafety properties, which express sets of valid interrelations between multiple finite runs of a program. The key observation is that constructing a proof for a small representative set…

Programming Languages · Computer Science 2019-05-23 Azadeh Farzan , Anthony Vandikas

We propose methods to strengthen the invariance properties of representations obtained by contrastive learning. While existing approaches implicitly induce a degree of invariance as representations are learned, we look to more directly…

Machine Learning · Computer Science 2021-03-23 Adam Foster , Rattana Pukdee , Tom Rainforth