English
Related papers

Related papers: Data-driven Verification of Procedural Programs wi…

200 papers

We propose a categorical framework for linear-time temporal verification of effectful higher-order programs, including probabilistic higher-order programs. Our framework provides a generic denotational reduction -- namely, a denotational…

Logic in Computer Science · Computer Science 2025-10-20 Kazuki Watanabe , Mayuko Kori , Taro Sekiyama , Satoshi Kura , Hiroshi Unno

Developing an efficient non-linear Horn clause solver is a challenging task since the solver has to reason about the tree structures rather than the linear ones as in a linear solver. In this paper we propose an incremental approach to…

Logic in Computer Science · Computer Science 2015-11-23 Bishoksan Kafle

Strings are widely used in programs, especially in web applications. Integer data type occurs naturally in string-manipulating programs, and is frequently used to refer to lengths of, or positions in, strings. Analysis and testing of…

Logic in Computer Science · Computer Science 2020-07-15 Taolue Chen , Matthew Hague , Jinlong He , Denghang Hu , Anthony Widjaja Lin , Philipp Rummer , Zhilin Wu

The automatic generation of loop invariants is a fundamental challenge in software verification. While this task is undecidable in general, it is decidable for certain restricted classes of programs. This work focuses on invariant…

Computational Complexity · Computer Science 2024-11-14 Rida Ait El Manssour , George Kenison , Mahsa Shirmohammadi , Anton Varonka

We consider approximating data structures with collections of the items that they contain. For examples, lists, binary trees, tuples, etc, can be approximated by sets or multisets of the items within them. Such approximations can be used to…

Logic in Computer Science · Computer Science 2007-08-17 Dale Miller

We propose a "formula slicing" method for finding inductive invariants. It is based on the observation that many loops in the program affect only a small part of the memory, and many invariants which were valid before a loop are still valid…

Logic in Computer Science · Computer Science 2016-10-04 Egor George Karpenkov , David Monniaux

Even though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic…

We present a tool for verification of deterministic programs with shared mutable references against specifications such as assertions, preconditions, postconditions, and read/write effects. We implement our tool by encoding programs with…

Logic in Computer Science · Computer Science 2021-03-16 Georg Schmid , Viktor Kunčak

This paper investigates the algorithmic safety verification problem of infinite-state parameterized concurrent programs over a rich set of communication topologies. The goal is to automatically produce a proof of correctness in the form of…

Logic in Computer Science · Computer Science 2026-05-15 Ruotong Cheng , Azadeh Farzan

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

Program verification is vital for ensuring software reliability, especially in the context of increasingly complex systems. Loop invariants, remaining true before and after each iteration of loops, are crucial for this verification process.…

Programming Languages · Computer Science 2024-06-10 Chang Liu , Xiwei Wu , Yuan Feng , Qinxiang Cao , Junchi Yan

Loop invariants are software properties that hold before and after every iteration of a loop. As such, invariants provide inductive arguments that are key in automating the verification of program loops. The problem of generating loop…

Logic in Computer Science · Computer Science 2023-05-25 George Kenison , Laura Kovács , Anton Varonka

The functional properties of a program are often specified by providing a contract for each of its functions. A contract of a function consists of a pair of formulas, called a precondition and a postcondition, which, respectively, should…

Logic in Computer Science · Computer Science 2022-11-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

We present exact mixed-integer linear programming formulations for verifying the performance of first-order methods for parametric quadratic optimization. We formulate the verification problem as a mixed-integer linear program where the…

Optimization and Control · Mathematics 2026-05-29 Vinit Ranjan , Jisun Park , Stefano Gualandi , Andrea Lodi , Bartolomeo Stellato

First-order resolution has been used for type inference for many years, including in Hindley- Milner type inference, type-classes, and constrained data types. Dependent types are a new trend in functional languages. In this paper, we show…

Logic in Computer Science · Computer Science 2018-05-01 František Farka , Ekaterina Komendantskya , Kevin Hammond

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

Constrained Horn Clauses (CHCs) are widely adopted as intermediate representations for a variety of verification tasks, including safety checking, invariant synthesis, and interprocedural analysis. This paper introduces CHCVERIF, a…

Software Engineering · Computer Science 2025-10-31 Mihály Dobos-Kovács , Levente Bajczi , András Vörös

We present the first verified implementation of a decision procedure for the quantifier-free theory of partial and linear orders. We formalise the procedure in Isabelle/HOL and provide a specification that is made executable using…

Logic in Computer Science · Computer Science 2021-11-25 Lukas Stevens , Tobias Nipkow

We investigate representations of imperative programs as constrained Horn clauses. Starting from operational semantics transition rules, we proceed by writing interpreters as constrained Horn clause programs directly encoding the rules. We…

Programming Languages · Computer Science 2020-08-10 John P. Gallagher , Manuel Hermenegildo , Bishoksan Kafle , Maximiliano Klemen , Pedro López García , José Morales

In several different applications, including data transformation and entity resolution, rules are used to capture aspects of knowledge about the application at hand. Often, a large set of such rules is generated automatically or…

Artificial Intelligence · Computer Science 2020-11-03 Phokion G. Kolaitis , Lucian Popa , Kun Qian