kirancodes.me
To Proof Maintenance & Beyond!

Granularity in software product lines

Christian Kästner, Sven Apel, Martin Kuhlemann

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.

BibTeX
@inproceedings{Kaestner-al:ICSE08,
  author    = {Christian K{\"{a}}stner and
               Sven Apel and
               Martin Kuhlemann},
  title     = {Granularity in software product lines},
  booktitle = {ICSE},
  pages     = {311--320},
  publisher = {{ACM}},
  year      = {2008},
}

Related papers