Extending the Reflexion Method for Consolidating Software Variants into Product Lines

  • Authors:
  • Pierre Frenzel;Rainer Koschke;Andreas P. J. Breu;Karsten Angstmann

  • Affiliations:
  • -;-;-;-

  • Venue:
  • WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software variants emerge from ad-hoc copying in- the-large with adaptations to a specific context. As the number of variants increases, maintaining such soft- ware variants becomes more and more difficult and ex- pensive. In contrast to such ad-hoc reuse, software product lines offer organized ways of reuse, taking ad- vantage of similarities of different products. To re-gain control, software variants may be consolidated as orga- nized software product lines. In this paper, we describe a method and support- ing tools to compare software variants at the architec- tural level extending the reflexion method to software variants. Murphy's reflexion method allows one to re- construct the module view, a static architectural view describing the static components, their interfaces and dependencies and their grouping as layers and subsys- tems. The method consists of the specification of the module view and the mapping of implementation com- ponents onto the module view. An automatic analysis determines differences between the module view and its implementation. We extend the reflexion method from single systems to software variants. Because software variants share a very large amount of code, we use clone detection tech- niques to identify corresponding implementation com- ponents between variants. The correspondence is then used to transfer as much of the mapping for the ana- lyzed variants to the next variant to be analyzed.