Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Identifying improvement potential in evolving product line infrastructures: 3 case studies

: Patzke, Thomas; Becker, Martin; Steffens, Michaela; Sierszecki, Krzysztof; Savolainen, Juha Erik; Fogdal, Thomas


Santana de Almeida, E (Ed.) ; Association for Computing Machinery -ACM-:
16th International Software Product Line Conference, SPLC 2012. Proceedings. Vol.1 : Salvador, Brazil; September 02 - 07, 2012
New York: ACM Press, 2012
ISBN: 978-1-4503-1094-9
International Software Product Line Conference (SPLC) <16, 2012, Salvador>
Fraunhofer IESE ()
case study; PuLSE-E; product line evolution; product line infrastructure

Successful software products evolve continuously to meet the changing stakeholder requirements. For software product lines, an additional challenge is that variabilities, characteristics that vary among products, change as well over time. That challenge must be carefully tackled during the evolution of the product line infrastructure. This is a significant problem for many software development organizations, as practical guidelines on how to evolve core assets, and especially source code, are missing.
This paper investigates how to achieve "good enough" variability management during the evolution of variation in software design and implementation assets. As a first contribution, we present a customizable goal-based approach which helps to identify improvement potential in existing core assets to ease evolution. To find concrete ways to improve the product line infrastructure, we list the typical symptoms of variability "code smells" and show how to refine them to root causes, questions, and finally to metrics that can be extracted from large code bases.
As a second main contribution, we show how this method was applied to evaluate the reuse quality of three industrial embedded systems. These systems are implemented in C or C++ and use Conditional Compilation as the main variability mechanism. We also introduce the analysis and refactoring tool set that was used in the case studies and discuss the lessons learnt.