DocumentCode
2185737
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
fYear
2013
fDate
23-26 Sept. 2013
Firstpage
177
Lastpage
184
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/SYNASC.2013.31
Filename
6821148
Link To Document