Title :
Engineering Hoare Logic-Based Program Verification in K Framework
Author :
Arusoaie, Andrei
Author_Institution :
Fac. of Comput. Sci., Univ. of Alexandru Ioan Cuza, Iaşi, Romania
Abstract :
In this paper we describe a methodology for easy development of Hoare Logic verification tools using the K (operational) semantics of programming languages. We exploit the relationship between the Hoare Logic and Matching Logic Reachability, which allows us to translate Hoare triples into reachability rules. Then we use the symbolic execution support to check the derived reachability rules. A Hoare triple holds w.r.t. the partial correctness if and only if the execution of its reachability rule is successful. The methodology consists in enriching the operational semantics of a programming language with syntax and semantics for additional constructs required when using Hoare Logic. The obtained semantics is then used by the K Framework to verify annotated programs. We instantiate our methodology on a simple imperative language, by describing each step separately, and then we test the obtained tool over the KeY-Hoare tests suite.
Keywords :
program verification; reachability analysis; software tools; Hoare logic verification tools; Hoare logic-based program verification; KeY-Hoare tests suite; imperative language; k framework; matching logic reachability; programming language semantics; programming language syntax; programming languages; reachability rules; symbolic execution support; Cognition; Computer languages; Concrete; Educational institutions; Semantics; Syntactics; Transforms; K framework; hoare logic; program verification; symbolic execution;
Conference_Titel :
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2013 15th International Symposium on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4799-3035-7
DOI :
10.1109/SYNASC.2013.31