Precondition Inference via Partitioning of Initial States
Abstract
Precondition inference is a non-trivial task with several applications in program analysis and verification. We present a novel iterative method for automatically deriving sufficient preconditions for safety and unsafety of programs which introduces a new dimension of modularity. Each iteration maintains over-approximations of the set of \emph{safe} and \emph{unsafe} \emph{initial} states. Then we repeatedly use the current abstractions to partition the program's \emph{initial} states into those known to be safe, known to be unsafe and unknown, and construct a revised program focusing on those initial states that are not yet known to be safe or unsafe. An experimental evaluation of the method on a set of software verification benchmarks shows that it can solve problems which are not solvable using previous methods.
Cite
@article{arxiv.1811.06771,
title = {Precondition Inference via Partitioning of Initial States},
author = {Bishoksan Kafle and Graeme Gange and Peter Schachte and Harald Sondergaard and Peter J. Stuckey},
journal= {arXiv preprint arXiv:1811.06771},
year = {2018}
}
Comments
19 pages, 8 figures