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 867–876, 2018.
ABSTRACT
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.
pdf