Transformation-Enabled Precondition Inference

by   Bishoksan Kafle, et al.

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.



page 1

page 2

page 3

page 4


Precondition Inference via Partitioning of Initial States

Precondition inference is a non-trivial task with several applications i...

An iterative approach to precondition inference using constrained Horn clauses

We present a method for automatic inference of conditions on the initial...

Deciding Memory Safety for Forest Datastructures

Memory safety is the problem of determining if a heap manipulating progr...

Operational Annotations: A new method for sequential program verification

I present a new method for specifying and verifying the partial correctn...

Source-Level Bitwise Branching for Temporal Verification

There is increasing interest in applying verification tools to programs ...

Relatively Complete Verification of Probabilistic Programs

We study a syntax for specifying quantitative "assertions" - functions m...

Bi-Abduction for Shapes with Ordered Data

Shape analysis is of great importance for the verification of the correc...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.