English
Related papers

Related papers: Augmenting Interpolation-Based Model Checking with…

200 papers

Craig interpolation is a fundamental property of classical and non-classic logics with a plethora of applications from philosophical logic to computer-aided verification. The question of which interpolants can be obtained from an…

Logic in Computer Science · Computer Science 2025-01-14 Stefan Hetzl , Raheleh Jalali

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

Fault injection is a technique to measure the robustness of a program to errors by introducing faults into the program under test. Following a fault injection experiment, Error Propagation Analysis (EPA) is deployed to understand how errors…

Software Engineering · Computer Science 2023-12-29 Stefan Winter , Abraham Chan , Habib Saissi , Karthik Pattabiraman , Neeraj Suri

Model checking invariant properties of designs, represented as transition systems, with non-linear real arithmetic (NRA), is an important though very hard problem. On the one hand NRA is a hard-to-solve theory; on the other hand most of the…

Logic in Computer Science · Computer Science 2018-01-29 Alessandro Cimatti , Alberto Griggio , Ahmed Irfan , Marco Roveri , Roberto Sebastiani

This paper describes a formal general-purpose automated program repair (APR) framework based on the concept of program invariants. In the presented repair framework, the execution traces of a defected program are dynamically analyzed to…

Software Engineering · Computer Science 2024-01-30 Omar I. Al-Bataineh

Loop invariants are fundamental to reasoning about programs with loops. They establish properties about a given loop's behavior. When they additionally are inductive, they become useful for the task of formal verification that seeks to…

This tutorial provides an introduction to CPAchecker for users. CPAchecker is a flexible and configurable framework for software verification and testing. The framework provides many abstract domains, such as BDDs, explicit values,…

The use of interpolants in model checking is becoming an enabling technology to allow fast and robust verification of hardware and software. The application of encodings based on the theory of arrays, however, is limited by the…

Logic in Computer Science · Computer Science 2015-07-01 Roberto Bruttomesso , Silvio Ghilardi , Silvio Ranise

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

The use of interpolants in verification is gaining more and more importance. Since theories used in applications are usually obtained as (disjoint) combinations of simpler theories, it is important to modularly re-use interpolation…

Logic in Computer Science · Computer Science 2012-04-25 Roberto Bruttomesso , Silvio Ghilardi , Silvio Ranise

Configurable software verification is a recent concept for expressing different program analysis and model checking approaches in one single formalism. This paper presents CPAchecker, a tool and framework that aims at easy integration of…

Programming Languages · Computer Science 2009-02-03 Dirk Beyer , M. Erkan Keremoglu

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

We consider interpolation from the viewpoint of fully automated theorem proving in first-order logic as a general core technique for mechanized knowledge processing. For Craig interpolation, our focus is on the two-stage approach, where…

Logic in Computer Science · Computer Science 2026-01-12 Christoph Wernhard

Software changes frequently. To efficiently deal with such frequent changes, software verification tools must be incremental. Most of today's approaches for incremental verification consider one specific verification approach. One exception…

Logic in Computer Science · Computer Science 2023-09-06 Marie-Christine Jakobs , Tim Pollandt

This chapter provides a comprehensive overview of proof-theoretic methods for establishing interpolation properties across a range of logics, including classical, intuitionistic, modal, and substructural logics. Central to the discussion…

Logic in Computer Science · Computer Science 2026-02-19 Iris van der Giessen , Raheleh Jalali , Roman Kuznets

We propose an incremental approach for safety proofs that decomposes a proof with a complex inductive invariant into a sequence of simpler proof steps. Our proof system combines rules for (i) forward reasoning using inductive invariants,…

Logic in Computer Science · Computer Science 2026-04-17 Eden Frenkel , Kenneth L. McMillan , Oded Padon , Sharon Shoham

Effective verification and validation techniques for modern scientific machine learning workflows are challenging to devise. Statistical methods are abundant and easily deployed, but often rely on speculative assumptions about the data and…

Machine Learning · Computer Science 2025-02-11 Tyler Chang , Andrew Gillette , Romit Maulik

Barrier certificates, a form of state invariants, provide an automated approach to the verification of the safety of dynamical systems. Similarly to barrier certificates, recent works explore the notion of closure certificates, a form of…

Systems and Control · Electrical Eng. & Systems 2026-02-16 Mohammed Adib Oumer , Vishnu Murali , Majid Zamani

In predicate abstraction, exact image computation is problematic, requiring in the worst case an exponential number of calls to a decision procedure. For this reason, software model checkers typically use a weak approximation of the image.…

Logic in Computer Science · Computer Science 2015-07-01 Ranjit Jhala , Kenneth L. McMillan

Modern languages are equipped with static type checking/inference that helps programmers to keep a clean programming style and to reduce errors. However, the ever-growing size of programs and their continuous evolution require building fast…

Programming Languages · Computer Science 2018-11-28 Matteo Busi , Pierpaolo Degano , Letterio Galletta