Abstract
We propose AdaHorn, a model checker for verification of Ada programs with respect to correctness properties given as assertions. AdaHorn translates an Ada program together with its assertion into a set of Constrained Horn Clauses, and feeds it to a Horn constraints solver. We evaluate the performance of AdaHorn on a set of Ada programs inspired by C programs from the software verification competition (SV-COMP). Our experimental results show that AdaHorn outputs correct results in more cases than GNATProve, which is a widely used Ada verification framework.
- S. T. Taft, R. A. Duff, R. Brukardt, E. Plödereder, P. Leroy, and E. Schonberg, Ada 2012 Reference Manual. Language and Standard Libraries - International Standard ISO/IEC 8652/2012 (E), vol. 8339 of LNCS. Springer, 2013.Google Scholar
- J. G. P. Barnes, High Integrity Software - The SPARK Approach to Safety and Security. Addison-Wesley, 2003.Google Scholar
- "Polyspace." https://www.mathworks.com/ products/polyspace.html.Google Scholar
- A. Gurfinkel, T. Kahsai, A. Komuravelli, and J. A. Navas, "The SeaHorn Verification Framework," vol. 9206 of LNCS, pp. 343--361, Springer, 2015.Google Scholar
- T. Kahsai, P. Rümmer, H. Sanchez, and M. Schäf, "JayHorn: A Framework for Verifying Java Programs," vol. 9779 of LNCS, pp. 352--358, Springer, 2016.Google Scholar
- N. Bjørner, A. Gurfinkel, K. L. McMillan, and A. Rybalchenko, "Horn Clause Solvers for Program Verification," vol. 9300 of LNCS, pp. 24--51, Springer, 2015.Google Scholar
- G. Gange, J. A. Navas, P. Schachte, H. Søndergaard, and P. J. Stuckey, "Horn Clauses as an Intermediate Representation for Program Analysis and Transformation," TPLP, vol. 15, no. 4--5, pp. 526--542, 2015.Google Scholar
- N. Bjørner, K. L. McMillan, and A. Rybalchenko, "Program Verification as Satisfiability Modulo Theories," in SMT 2012, vol. 20 of EPiC Series in Computing, pp. 3--11, EasyChair, 2012.Google Scholar
- H. Hojjat, F. Konecný, F. Garnier, R. Iosif, V. Kuncak, and P. Rümmer, "A Verification Toolkit for Numerical Transition Systems - Tool Paper," vol. 7436 of LNCS, pp. 247-- 251, Springer, 2012.Google Scholar
- L. M. de Moura and N. Bjørner, "Z3: An Efficient SMT Solver," vol. 4963 of LNCS, pp. 337--340, Springer, 2008.Google Scholar
- A. Burns, B. Dobbing, and G. Romanski, "The Ravenscar Tasking Profile for High Integrity Real-Time Programs," vol. 1411 of LNCS, pp. 263--275, Springer, 1998.Google Scholar
- Project Hi-Lite / GNATprove, 2014.Google Scholar
- D. Monniaux and L. Gonnord, "An Encoding of Array Verification Problems into Array-Free Horn Clauses," CoRR, vol. abs/1509.09092, 2015.Google Scholar
- T. Beyene, S. Chaudhuri, C. Popeea, and A. Rybalchenko, "A constraint-based approach to solving games on infinite graphs," SIGPLAN Not., vol. 49, pp. 221--233, Jan. 2014.Google Scholar
- T. A. Beyene, C. Popeea, and A. Rybalchenko, "Efficient CTL Verification via Horn Constraints Solving," vol. 219 of EPTCS, pp. 1--14, 2016.Google Scholar
- N. Bjørner, A. Gurfinkel, K. McMillan, and A. Rybalchenko, Horn Clause Solvers for Program Verification, pp. 24--51. Cham: Springer International Publishing, 2015.Google Scholar
- C. Barrett, P. Fontaine, and C. Tinelli, "The SMT-LIB Standard: Version 2.6," tech. rep., Department of Computer Science, The University of Iowa, 2017. Available at www.SMT-LIB.org.Google Scholar
- D. Beyer, "Software Verification with Validation of Results - (Report on SV-COMP 2017)," in TACAS 2017, vol. 10206 of LNCS, pp. 331--349, 2017.Google Scholar
Index Terms
(auto-classified)Verification of Ada Programs with AdaHorn
Recommendations
Formal Verification for C Program
Iterative abstraction refinement has emerged in the last few years as the leading approach to software model checking. We present an approach for automatically verifying C programs against safety specifications based on finite state machine. The ...
Temporal property verification as a program analysis task
We describe a reduction from temporal property verification to a program analysis problem. First we present a proof system that, unlike the standard formulation, is more amenable to reasoning about infinite-state systems: disjunction is treated by ...
Formal verification of ASMs using MDGs
We present a framework for the formal verification of abstract state machine (ASM) designs using the multiway decision graphs (MDG) tool. ASM is a state based language for describing transition systems. MDG provides symbolic representation of transition ...






Comments