Language definitions as rewrite theories

Vlad Rusu, Dorel Lucanu, Traian Florin Şerbənuţə, Andrei Arusoaie, Andrei Ştefənescu, Grigore Roşu

Research output: Contribution to journalArticle

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. K supports 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 K language definitions and their Maude translations, between symbolic extensions of K definitions 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.

Original languageEnglish (US)
Pages (from-to)98-120
Number of pages23
JournalJournal of Logical and Algebraic Methods in Programming
Volume85
Issue number1
DOIs
StatePublished - Jan 2016

Keywords

  • K Framework
  • Maude
  • Operational semantics
  • Rewrite theories
  • Symbolic execution

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Logic
  • Computational Theory and Mathematics

Fingerprint Dive into the research topics of 'Language definitions as rewrite theories'. Together they form a unique fingerprint.

  • Cite this

    Rusu, V., Lucanu, D., Şerbənuţə, T. F., Arusoaie, A., Ştefənescu, A., & Roşu, G. (2016). Language definitions as rewrite theories. Journal of Logical and Algebraic Methods in Programming, 85(1), 98-120. https://doi.org/10.1016/j.jlamp.2015.09.001