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 th...Show MoreMetadata
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.
Published in: 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Date of Conference: 23-26 September 2013
Date Added to IEEE Xplore: 26 May 2014
ISBN Information: