Empirical Studies and Support for Maintenance of Software Product Lines in the Presence of Feature Dependencies

Software product lines (SPLs) are commonly used in software development to efficiently produce a variety of similar software products with shared features. However, maintaining an SPL can become complex when there are dependencies between its features. This project aims to investigate the impact of feature dependencies on the maintenance of SPLs through a series of empirical studies. The goals of this project are twofold. First, we aim to investigate the impact of feature dependencies on software quality attributes in the context of SPLs, as described in the previous text. Second, we aim to develop tools to support the maintenance of SPLs in the presence of feature dependencies. These tools will aid software developers and maintainers in managing feature dependencies in SPLs, with the goal of improving software quality and reducing maintenance effort. To achieve these goals, we will conduct multiple studies to gather a range of empirical data on the impact of feature dependencies on software quality attributes in SPLs. We will use this data to develop and refine our tools, which will include techniques for analyzing feature dependencies, identifying potential conflicts and inconsistencies, and generating recommendations for resolving them. These tools will be designed to be easy to use and integrate into existing software development workflows.We also provide a preliminary definition of feature interface to support the maintenance of SPLs in the presence of feature dependencies. This definition will help software developers and maintainers to more effectively manage feature dependencies in their SPLs, and will serve as a foundation for future research in this area. The outcomes of this research will benefit the software engineering community by providing new insights into the management of SPLs and feature dependencies, as well as practical guidance and support for software developers and maintainers working with SPLs.

Bruno Cafeo, Ph.D.
Bruno Cafeo, Ph.D.
Professor of Software Engineering

I enjoy generating new ideas and devising feasible solutions to broadly relevant problems in software engineering.