Concepedia

TLDR

Building software product lines with features is challenging, and most existing implementations support only coarse granularity, such as adding entire methods, while fine‑grained extensions—like inserting statements within methods—are difficult or require intrusive annotations. This paper investigates how feature granularity impacts SPL development and introduces the Colored IDE (CIDE) tool. CIDE enables concise implementation of both coarse‑ and fine‑grained feature extensions by providing a framework that integrates feature code directly into the base program. Two case studies demonstrate that CIDE simplifies SPL development compared to traditional approaches.

Abstract

Building software product lines (SPLs) with features is a challenging task. Many SPL implementations support features with coarse granularity - e.g., the ability to add and wrap entire methods. However, fine-grained extensions, like adding a statement in the middle of a method, either require intricate workarounds or obfuscate the base code with annotations. Though many SPLs can and have been implemented with the coarse granularity of existing approaches, fine-grained extensions are essential when extracting features from legacy applications. Furthermore, also some existing SPLs could benefit from fine-grained extensions to reduce code replication or improve readability. In this paper, we analyze the effects of feature granularity in SPLs and present a tool, called Colored IDE (CIDE), that allows features to implement coarse-grained and fine-grained extensions in a concise way. In two case studies, we show how CIDE simplifies SPL development compared to traditional approaches.

References

YearCitations

Page 1