Transformation-Enabled Precondition Inference

08/06/2021
by   Bishoksan Kafle, et al.
0

Precondition inference is a non-trivial problem with important applications in program analysis and verification. We present a novel iterative method for automatically deriving preconditions for the safety and unsafety of programs. Each iteration maintains over-approximations of the set of safe and unsafe initial states; which are used to partition the program's initial states into those known to be safe, known to be unsafe and unknown. We then construct revised programs with those unknown initial states and iterate the procedure until the approximations are disjoint or some termination criteria are met. An experimental evaluation of the method on a set of software verification benchmarks shows that it can infer precise preconditions (sometimes optimal) that are not possible using previous methods.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/16/2018

Precondition Inference via Partitioning of Initial States

Precondition inference is a non-trivial task with several applications i...
research
04/17/2018

An iterative approach to precondition inference using constrained Horn clauses

We present a method for automatic inference of conditions on the initial...
research
06/29/2019

Deciding Memory Safety for Forest Datastructures

Memory safety is the problem of determining if a heap manipulating progr...
research
02/12/2021

Operational Annotations: A new method for sequential program verification

I present a new method for specifying and verifying the partial correctn...
research
11/04/2021

Source-Level Bitwise Branching for Temporal Verification

There is increasing interest in applying verification tools to programs ...
research
10/27/2020

Relatively Complete Verification of Probabilistic Programs

We study a syntax for specifying quantitative "assertions" - functions m...
research
06/18/2020

Bi-Abduction for Shapes with Ordered Data

Shape analysis is of great importance for the verification of the correc...

Please sign up or login with your details

Forgot password? Click here to reset