Reverse Engineering of Legacy Software Interfaces to a Model-Based Approach

Mathijs Schuts, Jozef Hooman, Ivan Kurtev and Dirk-Jan Swagerman

Proc. of the 2018 Federated Conference on Computer Science and Information Systems, Annals of Computer Science and Information Systems (ACSIS), Vol. 15, pages 867876, 2018.


Cyber-physical systems consist of many hardware and software components. Over the life-cycle of these systems, components are replaced or updated. To avoid integration problems, good interface descriptions are crucial for component-based development of these systems. For new components, a Domain Specific Language (DSL) called Component Modeling & Analysis (ComMA) can be used to formally define the interface of such a component in terms of its signature, state and timing behavior. Having interfaces described in a model-based approach enables the generation of artifacts, for instance, to generate a monitor that can check interface conformance of components based on a trace of observed interface interactions during execution. The benefit of having formal interface descriptions also holds for legacy system components. Interfaces of legacy components can be reverse engineered manually. In order to reduce the manual effort, we present an automated learner. The learner can reverse engineer state and timing behavior of a legacy interface by examining event traces of the component in operation. The learner will then generate a ComMA model.