English
Related papers

Related papers: Generating Loop Invariants for Program Verificatio…

200 papers

This paper surveys recent work on applying analysis and transformation techniques that originate in the field of constraint logic programming (CLP) to the problem of verifying software systems. We present specialisation-based techniques for…

Logic in Computer Science · Computer Science 2021-08-03 Emanuele De Angelis , Fabio Fioravanti , John P. Gallagher , Manuel V. Hermenegildo , Alberto Pettorossi , Maurizio Proietti

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-30 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

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

We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counter-example guided…

Programming Languages · Computer Science 2018-01-15 Daniel Neider , Pranav Garg , P. Madhusudan , Shambwaditya Saha , Daejun Park

Loop invariants are essential for proving the correctness of programs with loops. Developing loop invariants is challenging, and fully automatic synthesis cannot be guaranteed for arbitrary programs. Some approaches have been proposed to…

Logic in Computer Science · Computer Science 2025-08-04 Varun Bharti , Shashwat Jha , Dhruv Kumar , Pankaj Jalote

We lay out novel foundations for the computer-aided verification of guaranteed bounds on expected outcomes of imperative probabilistic programs featuring (i) general loops, (ii) continuous distributions, and (iii) conditioning. To handle…

Logic in Computer Science · Computer Science 2025-02-27 Kevin Batz , Joost-Pieter Katoen , Francesca Randone , Tobias Winkler

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-02 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Formally verifying properties of programs that manipulate arrays in loops is computationally challenging. In this paper, we focus on a useful class of such programs, and present a novel property-driven verification method that first infers…

Software Engineering · Computer Science 2017-10-05 Supratik Chakraborty , Ashutosh Gupta , Divyesh Unadkat

We present a method for the synthesis of polynomial lasso programs. These programs consist of a program stem, a set of transitions, and an exit condition, all in the form of algebraic assertions (conjunctions of polynomial equalities).…

Logic in Computer Science · Computer Science 2013-11-19 Jan Leike , Ashish Tiwari

In this paper, we explore different techniques to synthesize modular invariants for synchronous code encoded as Horn clauses. Modular invariants are a set of formulas that characterizes the validity of predicates. They are very useful for…

Logic in Computer Science · Computer Science 2014-12-04 Pierre-Loic Garoche , Arie Gurfinkel , Temesghen Kahsai

This work explores an unexpected application of Implicit Computational Complexity (ICC) to parallelize loops in imperative programs. Thanks to a lightweight dependency analysis, our algorithm allows splitting a loop into multiple loops that…

Programming Languages · Computer Science 2022-06-20 Clément Aubert , Thomas Rubiano , Neea Rusch , Thomas Seiller

Program verification relies on loop invariants, yet automatically discovering strong invariants remains a long-standing challenge. We investigate whether large language models (LLMs) can accelerate program verification by generating useful…

Programming Languages · Computer Science 2026-04-03 Anjiang Wei , Tianran Sun , Tarun Suresh , Haoze Wu , Ke Wang , Alex Aiken

Implicit computational complexity, which aims at characterizing complexity classes by machine-independent means, has traditionally been based, on the one hand, on programs and deductive formalisms for free algebras, and on the other hand on…

Logic in Computer Science · Computer Science 2018-02-12 Daniel Leivant , Jean-Yves Marion

This paper addresses the problem of checking invariant properties for a large class of symbolic transition systems, defined by a combination of SMT theories and quantifiers. State variables can be functions from an uninterpreted sort…

Logic in Computer Science · Computer Science 2024-03-01 Gianluca Redondi , Alessandro Cimatti , Alberto Griggio , Kenneth McMillan

Answer set programming (ASP) and planning are two widely used paradigms for solving logic programs with declarative programming. In both cases, the quality of the input programs has a major influence on the quality and performance of the…

Logic in Computer Science · Computer Science 2019-05-09 Patrick Lühne

Invariant inference algorithms such as interpolation-based inference and IC3/PDR show that it is feasible, in practice, to find inductive invariants for many interesting systems, but non-trivial upper bounds on the computational complexity…

Programming Languages · Computer Science 2022-08-17 Yotam M. Y. Feldman , Sharon Shoham

Analyzing and verifying heap-manipulating programs automatically is challenging. A key for fighting the complexity is to develop compositional methods. For instance, many existing verifiers for heap-manipulating programs require…

Programming Languages · Computer Science 2019-08-28 Long H. Pham , Jun Sun , Quang Loc Le

A common technique for verifying the safety of complex systems is the inductive invariant method. Inductive invariants are inductive formulas that overapproximate the reachable states of a system and imply a desired safety property.…

Logic in Computer Science · Computer Science 2025-09-09 Ian Dardik , Eunsuk Kang

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

Development of energy and performance-efficient embedded software is increasingly relying on application of complex transformations on the critical parts of the source code. Designers applying such nontrivial source code transformations are…

Logic in Computer Science · Computer Science 2011-11-09 K. C. Shashidhar , Maurice Bruynooghe , Francky Catthoor , Gerda Janssens