Formal Methods in Software Engineering

Engineering Hoare Logic-based Program Verification in K Framework

Year2013
TypeConference
StatusPostproceedings
AuthorsAndrei Arusoaie

Links

Abstract

We propose a language-independent symbolic execution framework for languages endowed with a formal operational semantics based on term rewriting. Starting from a given definition of a language, a new language definition is automatically generated, which has the same syntax as the original one but whose semantics extends data domains with symbolic values and adapts semantical rules to deal with these values.
Then, the symbolic execution of concrete programs is the execution of programs with the new symbolic semantics, on symbolic input data.
We prove that the symbolic execution thus defined has the properties naturally expected from it. A prototype implementation of our approach was developed in the K Framework. We demonstrate the genericity of our tool by instantiating it on several languages, and show how it can be used for the symbolic execution and model checking of several programs.

BibTeX

@Proceedings{ArusoaieSynasc2013, author = {Andrei Arusoaie}, title = {Engineering Hoare Logic-based Program Verification in K Framework}, booktitle = {15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing}, series = {IEEE}, pages = {}, year = {2013}, volume = {}, number = {}, publisher = {}, url_publisher = {}, note = {}, url = {http://www.synasc.ro/[SYNASC2013]} }