Transformation-Enabled Precondition Inference
Abstract
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.
Cite
@article{arxiv.2108.03178,
title = {Transformation-Enabled Precondition Inference},
author = {Bishoksan Kafle and Graeme Gange and Peter J. Stuckey and Peter Schachte and Harald Sondergaard},
journal= {arXiv preprint arXiv:2108.03178},
year = {2023}
}
Comments
Paper presented at the 37th InternationalConference on Logic Programming (ICLP 2021), 16 pages. arXiv admin note: substantial text overlap with arXiv:1811.06771