Formal Methods in Software Engineering

Language Definitions as Rewrite Theories

Year2014
TypeConference
StatusProceedings
AuthorsAndrei Arusoaie, Dorel Lucanu, Vlad Rusu, Traian Serbanuta, Andrei Stefanescu, Grigore Rosu

Links

Abstract

K is a formal framework for defining the operational semantics of programming languages. It includes software tools for compiling K language definitions to Maude rewrite theories, for executing programs in the defined languages based on the Maude rewriting engine, and for analyzing programs by adapting various Maude analysis tools. A recent extension to the K tool suite is an automatic transformation of language definitions that enables the symbolic execution of programs, i.e., the execution of programs with symbolic inputs. In this paper we investigate the theoretical relationships between K language definitions and their translations to Maude, between symbolic extensions of K definitions and their Maude encodings, and how the relations between K definitions and their symbolic extensions are reflected on their respective representations in Maude. These results show, in particular, how analyses performed with Maude tools can be formally lifted up to the original language definitions.

BibTeX

@inproceedings{arusoaie-lucanu-rusu-serbanuta-stefanescu-rosu-2014-wrla, author = {Arusoaie, Andrei and Lucanu, Dorel and Rusu, Vlad and Serbanuta, Traian Florin and Stefanescu, Andrei and Rosu, Grigore}, title = {Language Definitions as Rewrite Theories}, booktitle = {Proceedings of the 10th International Workshop on Rewriting Logic and its Applications (WRLA'14)}, series = {LNCS}, pages = {97-112}, year = {2014}, volume = {8663}, number = {}, publisher = {Springer}, url_publisher = {}, note = {}, url = {http://users.dsic.upv.es/workshops/wrla2014/[WRLA14]} }