Transformation of java source code to base-level Abstract State Machine. Design and implementation

F. Ferrarotti, M. Moser, J. Pichler. Transformation of java source code to base-level Abstract State Machine. Design and implementation. 6, 2020.

Autoren
  • Flavio Ferrarotti
  • Michael Moser
  • Josef Pichler
TypTechnischer Bericht
OrganisationSoftware Competence Center Hagenberg GmbH
Monat6
Jahr2020
Abstract

Consistent high-level specifications of a software system as expressed by means of Gurevich's Abstract State Machines (ASMs), provide many benefits for engineering, testing and maintaining software systems. In practice however, such specifications are rarely generated and/or maintained during software development. Addressing this problem, we intend to explore (semi) automatic extraction of high-level software specifications by means of ASMs. Our approach builds on two cornerstones, namely the automatic extraction of a base-level ASM from source code, and the iterative refinement of a base-level ASM. In this technical report we document a prototype implementation of a software system that supports the first step of our approach, i.e. transformation of Java source code into a base-level ASM specifications. The prototype builds on the reverse engineering platform eknows and implements an extensible architecture to transform Java source code into a base-level ASM by means of rewriting rules.