Interface protocol inference to aid understanding legacy software components

K. Aslam, L. Cleophas, R. Schiffelers, M. van den Brand

Research output: Contribution to JournalArticleAcademicpeer-review


© 2020, The Author(s).High-tech companies are struggling today with the maintenance of legacy software. Legacy software is vital to many organizations as it contains the important business logic. To facilitate maintenance of legacy software, a comprehensive understanding of the software’s behavior is essential. In terms of component-based software engineering, it is necessary to completely understand the behavior of components in relation to their interfaces, i.e., their interface protocols, and to preserve this behavior during the maintenance activities of the components. For this purpose, we present an approach to infer the interface protocols of software components from the behavioral models of those components, learned by a blackbox technique called active (automata) learning. To validate the learned results, we applied our approach to the software components developed with model-based engineering so that equivalence can be checked between the learned models and the reference models, ensuring the behavioral relations are preserved. Experimenting with components having reference models and performing equivalence checking builds confidence that applying active learning technique to reverse engineer legacy software components, for which no reference models are available, will also yield correct results. To apply our approach in practice, we present an automated framework for conducting active learning on a large set of components and deriving their interface protocols. Using the framework, we validated our methodology by applying active learning on 202 industrial software components, out of which, interface protocols could be successfully derived for 156 components within our given time bound of 1 h for each component.
Original languageEnglish
Pages (from-to)1519-1540
JournalSoftware and Systems Modeling
Issue number6
Publication statusPublished - 1 Nov 2020
Externally publishedYes


This research was partially supported by Eindhoven University of Technology and ASML Netherlands B.V., carried out as part of the IMPULS II project, and partially supported by the Dutch Ministry of Economic Affairs, ESI (part of TNO) and ASML Netherlands B.V., carried out as part of the TKI project ‘Transposition.’ The authors would also like to express deep gratitude to Dennis Hendriks and Leonard Lensink for providing support on the design of experiments and implementation, Alexander Serebrenik for advice on results analysis and Alessandro di Bucchianico for discussions on statistical tests.

FundersFunder number
Technische Universiteit Eindhoven
Erwin Schrödinger International Institute for Mathematics and Physics
Ministerie van Economische Zaken


    Dive into the research topics of 'Interface protocol inference to aid understanding legacy software components'. Together they form a unique fingerprint.

    Cite this