Abstracting an Operational Semantics to Finite Automata

  • Nadezhda Baklanova
  • Wilmer RicciottiEmail author
  • Jan-Georg Smaus
  • Martin Strecker
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 594)


There is an apparent similarity between the descriptions of small-step operational semantics of imperative programs and the semantics of finite automata, so defining an abstraction mapping from semantics to automata and proving a simulation property seems to be easy. This paper aims at identifying the reasons why simple proofs break, among them artifacts in the semantics that lead to stuttering steps in the simulation. We then present a semantics based on the zipper data structure, with a direct interpretation of evaluation as navigation in the syntax tree. The abstraction function is then defined by an equivalence class construction.


Programming language semantics Abstraction Finite automata Formal methods Verification 


  1. 1.
    Alur, R., Courcoubetis, C., Dill, D.L.: Model-checking for real-time systems. In: LICS, pp. 414–425. IEEE Computer Society (1990)Google Scholar
  2. 2.
    Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126, 183–235 (1994)CrossRefMathSciNetzbMATHGoogle Scholar
  3. 3.
    Appel, A.W., Blazy, S.: Separation logic for small-step cminor. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 5–21. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)zbMATHGoogle Scholar
  5. 5.
    Baklanova, N.: Semantics and Proof Methods for a Real-Time Modeling Language. PhD thesis, Université de Toulouse (2014)Google Scholar
  6. 6.
    Baklanova, N., Ricciotti, W., Smaus, J.-G., Strecker, M.: Abstracting an operational semantics to finite automata (formalization) (2014).
  7. 7.
    Baklanova, N., Ricciotti, W., Smaus, J.-G., Strecker, M.: Abstracting an operational semantics to finite automata. In: Proceedings of the 11th International Conference on ICT in Education, Research and Industrial Applications: Integration, Harmonization and Knowledge Transfer, Lviv, Ukraine, 14–16 May 2015, pp. 354–365 (2015)Google Scholar
  8. 8.
    Baklanova, N., Strecker, M.: Abstraction and verification of properties of a real-time java. In: Ermolayev, V., Mayr, H.C., Nikitchenko, M., Spivakovsky, A., Zholtkevych, G. (eds.) ICTERI 2012. CCIS, vol. 347, pp. 1–18. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  9. 9.
    Bengtsson, J.E., Yi, W.: Timed automata: semantics, algorithms and tools. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Lectures on Concurrency and Petri Nets. LNCS, vol. 3098, pp. 87–124. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Huet, G.: Functional pearl: the zipper. J. Funct. Program. 7(5), 549–554 (1997)CrossRefMathSciNetzbMATHGoogle Scholar
  11. 11.
    Khoussainov, B., Nerode, A.: Automata Theory and Its Applications. Birkhauser, Boston (2001)CrossRefzbMATHGoogle Scholar
  12. 12.
    Klein, G., Nipkow, T.: A machine-checked model for a Java-like language, virtual machine, and compiler. ACM Trans. Program. Lang. Syst. 28, 619–695 (2006)CrossRefGoogle Scholar
  13. 13.
    Krebbers, R., Wiedijk, F.: Separation logic for non-local control flow and block scope variables. In: Pfenning, F. (ed.) FOSSACS 2013 (ETAPS 2013). LNCS, vol. 7794, pp. 257–272. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  14. 14.
    Leroy, X.: A formally verified compiler back-end. J. Autom. Reasoning 43(4), 363–446 (2009)CrossRefMathSciNetzbMATHGoogle Scholar
  15. 15.
    Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. Lecture Notes in Computer Science, vol. 2283. Springer, Heidelberg (2002)Google Scholar
  16. 16.
    Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press, Cambridge (1993)zbMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Nadezhda Baklanova
    • 1
  • Wilmer Ricciotti
    • 1
    Email author
  • Jan-Georg Smaus
    • 1
  • Martin Strecker
    • 1
  1. 1.IRIT (Institut de Recherche en Informatique de Toulouse)Université de ToulouseToulouseFrance

Personalised recommendations