Formal Methods in Software Engineering

Language definitions as rewrite theories

Year2016
TypeJournal
StatusPublished
AuthorsVlad Rusu, Dorel Lucanu, Traian Serbanuta, Andrei Arusoaie, Andrei Stefanescu, Grigore Rosu

Links

Abstract

K is a formal framework for defining operational semantics of programming languages. The K-Maude compiler translates K language definitions to Maude rewrite theories. The compiler enables program execution by using the Maude rewrite engine with the compiled definitions, and program analysis by using various Maude analysis tools. Ksupports symbolic execution in Maude by means of an automatic transformation of language definitions. The transformed definition is called the symbolic extension   of the original definition. In this paper we investigate the theoretical relationship between Klanguage definitions and their Maude translations, between symbolic extensions of Kdefinitions and their Maude translations, and how the relationship between K definitions and their symbolic extensions is reflected on their respective representations in Maude. In particular, the results show how analysis performed with Maude tools can be formally lifted up to the original language definitions.

BibTeX

@article{Rusu201698, title = {Language definitions as rewrite theories}, journal = {Journal of Logical and Algebraic Methods in Programming }, volume = {85}, number = {1, Part 1}, pages = {98 - 120}, year = {2016}, note = {Rewriting Logic and its Applications }, issn = {2352-2208}, doi = {http://dx.doi.org/10.1016/j.jlamp.2015.09.001}, url = {http://www.sciencedirect.com/science/article/pii/S2352220815000838 [Elsevier]}, author = {Vlad Rusu and Dorel Lucanu and Traian Florin Serbanuta and Andrei Arusoaie and Andrei c{S}tefu{a}nescu and Grigore Roc{s}u} }