Language Definitions as Rewrite Theories

  • Andrei Arusoaie
  • Dorel Lucanu
  • Vlad Rusu
  • Traian-Florin Şerbănuţă
  • Andrei Ştefănescu
  • Grigore Roşu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8663)

Abstract

\(\mathbb {K}\)is a formal framework for defining the operational semantics of programming languages. It includes software tools for compiling \(\mathbb {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 \(\mathbb {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 \(\mathbb {K}\)language definitions and their translations to Maude, between symbolic extensions of \(\mathbb {K}\)definitions and their Maude encodings, and how the relations between \(\mathbb {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.

Notes

Acknowledgement

This work was supported by the strategic grant POSDRU/159/1.5/S/137750, “Project Doctoral and Postdoctoral programs support for increased competitiveness in Exact Sciences research” cofinanced by the European Social Found within the Sectorial Operational Program Human Resources Development 2007–2013.

References

  1. 1.
    Standard for Programming Language C++. Working Draft. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf
  2. 2.
    Arusoaie, A., Lucanu, D., Rusu, V.: A generic framework for symbolic execution. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 281–301. Springer, Heidelberg (2013). (Also available as a technical report at  http://hal.inria.fr/hal-00766220/) CrossRefGoogle Scholar
  3. 3.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)MATHGoogle Scholar
  4. 4.
    Şerbănuţă, T.F., Roşu, G.: K-maude: a rewriting based tool for semantics of programming languages. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 104–122. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    de Moura, L., Bjørner, N.S.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Farzan, A., Meseguer, J.: State space reduction of rewrite theories using invisible transitions. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 142–157. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Lucanu, D., Serbanuta, T.F.: Cink - an exercise on how to think in k. Technical Report TR 12–03, Version 2, Alexandru Ioan Cuza University, Faculty of Computer Science, December 2013Google Scholar
  8. 8.
    Lucanu, D., Şerbănuţă, T.F., Roşu, G.: \(\mathbb{K}\) framework distilled. In: Durán, F. (ed.) WRLA 2012. LNCS, vol. 7571, pp. 31–53. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Meseguer, J., Palomino, M., Martí-Oliet, N.: Equational abstractions. Theor. Comput. Sci. 403(2–3), 239–264 (2008)CrossRefMATHGoogle Scholar
  10. 10.
    Rocha, C., Meseguer, J., Munoz, C.A.: Rewriting modulo SMT. In: Escobar, S. (ed.) WRLA 2014. LNCS, vol. 8663, pp. 247–262. Springer, Heidelberg (2014)Google Scholar
  11. 11.
    Roşu, G., Şerbănuţă, T.F.: An overview of the K semantic framework. J. Logic Algebraic Program. 79(6), 397–434 (2010)CrossRefMATHGoogle Scholar
  12. 12.
    Roşu, G., Ştefănescu, A.: Checking reachability using matching logic. In: Leavens, G.T., Dwyer, M.B. (eds) OOPSLA, pp. 555–574. ACM (2012)Google Scholar
  13. 13.
    Viry, P.: Equational rules for rewriting logic. Theor. Comput. Sci. 285(2), 487–517 (2002)CrossRefMATHMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Andrei Arusoaie
    • 1
  • Dorel Lucanu
    • 1
  • Vlad Rusu
    • 2
  • Traian-Florin Şerbănuţă
    • 1
    • 3
  • Andrei Ştefănescu
    • 4
  • Grigore Roşu
    • 4
  1. 1.Alexandru Ioan Cuza UniversityIaşiRomania
  2. 2.Inria Lille Nord EuropeLilleFrance
  3. 3.University of BucharestBucharestRomania
  4. 4.University of Illinois at Urbana-ChampaignChampaignUSA

Personalised recommendations