Refactoring of legacy software using model learning and equivalence checking: An industrial experience report

30Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Many companies struggle with large amounts of legacy software that is difficult to maintain and to extend. Refactoring legacy code typically requires large efforts and introduces serious risks because often crucial business assets are hidden in legacy components. We investigate the support of formal techniques for the rejuvenation of legacy embedded software, concentrating on control components. Model learning and equivalence checking are used to improve a new implementation of a legacy control component. Model learning is applied to both the old and the new implementation. The resulting models are compared using an equivalence check of a model checker. We report about our experiences with this approach at Philips. By gradually increasing the set of input stimuli, we obtained implementations of a power control service for which the learned behaviour is equivalent.

Cite

CITATION STYLE

APA

Schuts, M., Hooman, J., & Vaandrager, F. (2016). Refactoring of legacy software using model learning and equivalence checking: An industrial experience report. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9681, pp. 311–325). Springer Verlag. https://doi.org/10.1007/978-3-319-33693-0_20

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free