Program Understanding: A Reengineering Case for the Transformation Tool Contest
Tassilo Horn (University Koblenz-Landau)

TL;DR
This paper discusses a reengineering case where source code is transformed into a state machine model from a Java syntax graph to aid understanding of legacy systems.
Contribution
It introduces a transformation approach to generate a state machine model from Java code, aiding system understanding in reengineering projects.
Findings
Successfully derived state machine models from Java syntax graphs.
Facilitated better architectural understanding of legacy systems.
Applied in a real reengineering project context.
Abstract
In Software Reengineering, one of the central artifacts is the source code of the legacy system in question. In fact, in most cases it is the only definitive artifact, because over the time the code has diverged from the original architecture and design documents. The first task of any reengineering project is to gather an understanding of the system's architecture. Therefore, a common approach is to use parsers to translate the source code into a model conforming to the abstract syntax of the programming language the system is implemented in which can then be subject to querying. Despite querying, transformations can be used to generate more abstract views on the system's architecture. This transformation case deals with the creation of a state machine model out of a Java syntax graph. It is derived from a task that originates from a real reengineering project.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
