Journal article

Transformation-Enabled Precondition Inference

B Kafle, G Gange, PJ Stuckey, P Schachte, H Sondergaard

Theory and Practice of Logic Programming | Published : 2021

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 sh..

View full abstract

Grants

Awarded by Spanish Ministry of Research, Science and Innovation


Funding Acknowledgements

We thank John Gallagher and three anonymous reviewers whose suggestions helped improve the paper. We are also grateful for help with the use of VeriMap for C to CHC translation, provided to us by Emanuele De Angelis. Bishoksan Kafle has been partially funded by the Spanish Ministry of Research, Science and Innovation, grant MICINN PID2019-108528RB-C21 ProCode and Madrid P2018/TCS-4339 BLOQUES-CM.