Migrating Java-based apo-games into a composition-based software product line
Paper i 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

Författare

Jamel Debbiche

Student vid Chalmers

Oskar Lignell

Student vid Chalmers

Jacob Krüger

Otto von Guericke Universitaet Magdeburg

Thorsten Berger

Göteborgs universitet

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,

Ämneskategorier

Produktionsteknik, arbetsvetenskap och ergonomi

Tillförlitlighets- och kvalitetsteknik

Programvaruteknik

DOI

10.1145/3336294.3342361

Mer information

Senast uppdaterat

2024-01-03