Refactoring of Legacy Software Using Model Learning and Equivalence Checking: An Industrial Experience Report

Conference paper

DOI: 10.1007/978-3-319-33693-0_20

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9681)
Cite this paper as:
Schuts M., Hooman J., Vaandrager F. (2016) Refactoring of Legacy Software Using Model Learning and Equivalence Checking: An Industrial Experience Report. In: Ábrahám E., Huisman M. (eds) Integrated Formal Methods. IFM 2016. Lecture Notes in Computer Science, vol 9681. Springer, Cham

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.

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Mathijs Schuts
    • 1
  • Jozef Hooman
    • 2
    • 3
  • Frits Vaandrager
    • 3
  1. 1.PhilipsBestThe Netherlands
  2. 2.Embedded Systems Innovation (ESI) by TNOEindhovenThe Netherlands
  3. 3.Department of Software ScienceRadboud UniversityNijmegenThe Netherlands

Personalised recommendations