Bounded Model Checking of Software Using Interval Methods via Contractors

12/21/2020
by   Mohannad Aldughaim, et al.
0

Bounded model checking (BMC) is a vital technique to find property violations in programs. BMC can quickly find an execution path starting from an initial state to the bad state that refutes a given property. However, BMC techniques struggle to falsify programs that contain loops. BMC needs to unfold the program loops up to the bound k, which sometimes leads to a considerable state-space to be explored. Here, we develop an innovative software verification approach that exploits interval methods via contractors to prune the state-space exploration of programs that contain loops. In particular, this is the first work that exploits interval methods via contractors to analyze the loop variables search-space and identify where the property is guaranteed to hold and prune the domain where it holds. Experimental results show a performance boost in terms of space and time as contractors removed 99 search-space in some examples and made them substantially faster to verify with BMC.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/11/2022

Counterexample Generation for Infinite-State Chemical Reaction Networks

Counterexample generation is an indispensable part of model checking pro...
research
07/28/2023

User-Driven Abstraction for Model Checking

Model checking has found a role in the engineering of reactive systems. ...
research
04/04/2019

Beyond k-induction: Learning from Counterexamples to Bidirectionally Explore the State Space

We describe and evaluate a novel k-induction proof rule called bidirecti...
research
09/06/2017

Model Checking for Fragments of Halpern and Shoham's Interval Temporal Logic Based on Track Representatives

Model checking allows one to automatically verify a specification of the...
research
03/10/2021

Bounded Invariant Checking for Stateflow Programs

Stateflow models are complex software models, often used as part of safe...
research
01/17/2023

Bounded Model Checking for Asynchronous Hyperproperties

Many types of attacks on confidentiality stem from the nondeterministic ...
research
06/13/2022

Combining BMC and Fuzzing Techniques for Finding Software Vulnerabilities in Concurrent Programs

Finding software vulnerabilities in concurrent programs is a challenging...

Please sign up or login with your details

Forgot password? Click here to reset