English
Related papers

Related papers: Model Checking Embedded C Software using k-Inducti…

200 papers

Computer-based systems have solved several domain problems, including industrial, military, education, and wearable. Nevertheless, such arrangements need high-quality software to guarantee security and safety as both are mandatory for…

The article "Interpolation and SAT-Based Model Checking" (McMillan, 2003) describes a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. It derives interpolants from…

Software Engineering · Computer Science 2024-03-14 Dirk Beyer , Nian-Ze Lee , Philipp Wendler

Property-directed reachability (PDR) is a SAT/SMT-based reachability algorithm that incrementally constructs inductive invariants. After it was successfully applied to hardware model checking, several adaptations to software model checking…

Software Engineering · Computer Science 2020-02-25 Dirk Beyer , Matthias Dangl

This paper presents a novel approach for augmenting proof-based verification with performance-style analysis of the kind employed in state-of-the-art model checking tools for probabilistic systems. Quantitative safety properties usually…

Logic in Computer Science · Computer Science 2009-12-11 Ukachukwu Ndukwu

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…

Embedded systems are everywhere, from home appliances to critical systems such as medical devices. They usually have associated timing constraints that need to be verified for the implementation. Here, we use an untimed bounded model…

Logic in Computer Science · Computer Science 2011-06-14 Raimundo Barreto , Lucas Cordeiro , Bernd Fischer

We describe verification techniques for embedded memory systems using efficient memory modeling (EMM), without explicitly modeling each memory bit. We extend our previously proposed approach of EMM in Bounded Model Checking (BMC) for a…

Logic in Computer Science · Computer Science 2011-11-09 Malay K. Ganai , Aarti Gupta , Pranav Ashar

Loop under-approximation is a technique that enriches C programs with additional branches that represent the effect of a (limited) range of loop iterations. While this technique can speed up the detection of bugs significantly, it…

Formal Languages and Automata Theory · Computer Science 2014-10-22 Daniel Kroening , Matt Lewis , Georg Weissenbacher

The role played by counterexamples in standard system analysis is well known; but less common is a notion of counterexample in probabilistic systems refinement. In this paper we extend previous work using counterexamples to inductive…

Logic in Computer Science · Computer Science 2011-06-22 Ukachukwu Ndukwu , Annabelle McIver

The C Bounded Model Checker (CBMC) demonstrates the violation of assertions in C programs, or proves safety of the assertions under a given bound. CBMC implements a bit-precise translation of an input C program, annotated with assertions…

Software Engineering · Computer Science 2023-02-07 Daniel Kroening , Peter Schrammel , Michael Tautschnig

Program analysis is on the brink of mainstream in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated…

Software Engineering · Computer Science 2014-09-23 Peter Schrammel , Daniel Kroening , Martin Brain , Ruben Martins , Tino Teige , Tom Bienmüller

The principle of strong induction, also known as k-induction is one of the first techniques for unbounded SAT-based Model Checking (SMC). While elegant and simple to apply, properties as such are rarely k-inductive and when they can be…

Logic in Computer Science · Computer Science 2019-06-05 Hari Govind V K , Yakir Vizel , Vijay Ganesh , Arie Gurfinkel

One of the obstacles in automatic program proving is to obtain suitable loop invariants. The invariant of a loop is a weakened form of its postcondition (the loop's goal, also known as its contract); the present work takes advantage of this…

Software Engineering · Computer Science 2013-08-14 Carlo A. Furia , Bertrand Meyer

We study induction on the program structure as a proof method for bisimulation-based compiler correctness. We consider a first-order language with mutually recursive function definitions, system calls, and an environment semantics. The…

Programming Languages · Computer Science 2016-11-30 Sigurd Schneider , Gert Smolka , Sebastian Hack

We present a clustering- and demotion-based algorithm called Kmeans-FOLD to induce nonmonotonic logic programs from positive and negative examples. Our algorithm improves upon-and is inspired by-the FOLD algorithm. The FOLD algorithm itself…

Artificial Intelligence · Computer Science 2021-09-28 Huaduo Wang , Farhad Shakerin , Gopal Gupta

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

This paper addresses the issue of lemma generation in a k-induction-based formal analysis of transition systems, in the linear real/integer arithmetic fragment. A backward analysis, powered by quantifier elimination, is used to output…

Logic in Computer Science · Computer Science 2013-01-03 Adrien Champion , Rémi Delmas , Michael Dierkes

We study a proof methodology for verifying the safety of data invariants of highly-available distributed applications that replicate state. The proof is (1) modular: one can reason about each individual operation separately, and (2)…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-08 Sreeja Nair , Gustavo Petri , Marc Shapiro

Automatic verification of array manipulating programs is a challenging problem because it often amounts to the inference of in ductive quantified loop invariants which, in some cases, may not even be firstorder expressible. In this paper,…

Programming Languages · Computer Science 2021-06-03 Oren Ish Shalom , Shachar Itzhaky , Noam Rinetzky , Sharon Shoham

We address the problem of verifying k-safety properties: properties that refer to k-interacting executions of a program. A prominent way to verify k-safety properties is by self composition. In this approach, the problem of checking…

Programming Languages · Computer Science 2019-05-28 Ron Shemer , Arie Gurfinkel , Sharon Shoham , Yakir Vizel