Segregating feature interfaces to support software product line maintenance

Cafeo, Bruno, Hunsen, Claus, Garcia, Alessandro, Apel, Sven and Lee, Jaejoon ORCID: https://orcid.org/0000-0001-6016-8540 (2016) Segregating feature interfaces to support software product line maintenance. In: MODULARITY 2016 Proceedings of the 15th International Conference on Modularity. UNSPECIFIED, pp. 1-12. ISBN 9781450339957

Full text not available from this repository. (Request a copy)

Abstract

Although software product lines are widely used in practice, their maintenance is challenging. Features as units of behaviour can be heavily scattered across the source code of a product line, hindering modular reasoning. To alleviate this problem, feature interfaces aim at enhancing modular reasoning about features. However, considering all members of a feature interface is cumbersome, especially due to the large number of members arising in practice. To address this problem, we present an approach to group members of a feature interface. We argue that often only a subset of all interface members is relevant to a single maintenance task. Therefore, we propose a graph representation that is able to capture the collaboration between members and apply a clustering algorithm to it to group highly-related members and segregate non-related members. On a set of ten versions of a real-world product line, we evaluate the effectiveness of our approach, by comparing the two types of feature interfaces (segregated vs. original interfaces) with co-change information from the version-control system. We found a potential reduction of 62% of the interface members to be considered in a single maintenance task. This way, the effort to reason about features can be reduced.

Item Type: Book Section
Faculty \ School: Faculty of Science > School of Computing Sciences
Related URLs:
Depositing User: LivePure Connector
Date Deposited: 22 Jan 2020 03:56
Last Modified: 01 Oct 2022 23:53
URI: https://ueaeprints.uea.ac.uk/id/eprint/73725
DOI: 10.1145/2889443.2889451

Actions (login required)

View Item View Item