Abstract
AbstractPrecondition 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.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Reference42 articles.
1. Howe, J. M. , King, A. and Lu, L. 2004. Analysing logic programs by reasoning backwards. In Program Development in Computational Logic. LNCS, vol. 3049. Springer, 152–188.
2. Bakhirkin, A. and Monniaux, D. 2017. Combining forward and backward abstract interpretation of Horn clauses. In SAS 2017. LNCS, vol. 10422. Springer, 23–45.
3. Gurfinkel, A. , Kahsai, T. , Komuravelli, A. and Navas, J. A. 2015. The SeaHorn verification framework. In CAV 2015. LNCS, vol. 9206. Springer, 343–361.
4. Muthukumar, K. and Hermenegildo, M. 1990. Deriving a Fixpoint Computation Algorithm for Top-down Abstract Interpretation of Logic Programs. Technical Report ACT-DC-153-90, Microelectronics and Computer Technology Corporation (MCC), Austin, TX 78759. April.
5. Gupta, A. and Rybalchenko, A. 2009. Invgen: An efficient invariant generator. In CAV, Bouajjani, A. and Maler, O. , Eds. LNCS, vol. 5643. Springer, 634–640.
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献