Migrating Java-based apo-games into a composition-based software product line
Paper in proceeding, 2019

A software product line enables an organization to systematically reuse software features that allow to derive customized variants from a common platform, promising reduced development and maintenance costs. In practice, however, most organizations start to clone existing systems and only extract a software product line from such clones when the maintenance and coordination costs increase. Despite the importance of extractive software-product-line adoption, we still have only limited knowledge on what practices work best and miss datasets for evaluating automated techniques. To improve this situation, we performed an extractive adoption of the Apo-Games, resulting in a systematic analysis of fve Java games and the migration of three games into a composition-based software product line. In this paper, we report our analysis and migration process, discuss our lessons learned, and contribute a feature model as well as the implementation of the extracted software product line. Overall, the results help to gain a better understanding of problems that can appear during such migrations, indicating research opportunities and hints for practitioners. Moreover, our artifacts can serve as dataset to test automated techniques and developers may improve or extent them in the future.

Feature model

Extraction

Case study

FeatureHouse

Apo-Games

Software product line

Author

Jamel Debbiche

Student at Chalmers

Oskar Lignell

Student at Chalmers

Jacob Krüger

Otto von Guericke Universitaet Magdeburg

Thorsten Berger

University of Gothenburg

PervasiveHealth: Pervasive Computing Technologies for Healthcare

21531633 (ISSN)

Vol. A
9781450371384 (ISBN)

23rd International Systems and Software Product Line Conference, SPLC 2019, co-located with the 13th European Conference on Software Architecture, ECSA 2019
Paris, France,

Subject Categories

Production Engineering, Human Work Science and Ergonomics

Reliability and Maintenance

Software Engineering

DOI

10.1145/3336294.3342361

More information

Latest update

1/3/2024 9