Recovering traceability between features and code in product variants.

by Lukas Linsbauer, Roberto E. Lopez-Herrejon, Alexander Egyed
Abstract:
Many companies offer a palette of similar software products though they do not necessarily have a Software Product Line (SPL). Rather, they start building and selling individual products which they then adapt, customize and extend for different customers. As the number of product variants increases, these companies then face the severe problem of having to maintain them all. Software Product Lines can be helpful here - not so much as a platform for creating newproducts but as a means of maintaining the existing oneswith their shared features. Here, an important first step is to determine where features are implemented in the source code and in what product variants. To this end, this paper presents a novel technique for deriving the traceability between features and code in product variants by matching code overlaps and feature overlaps. This is a diffcult problem because a feature's implementation not only covers its basic functionality (which does not change across product variants) but may include code that deals with feature interaction issues and thus changes depending on the combination of features present in a product variant. We empirically evaluated the approach on three non-trivial case studies of different sizes and domains and found that our approach correctly identifies feature to code traces except for code that traces to multiple disjunctive features, a rare case involving less than 1% of the code.
Reference:
Lukas Linsbauer, Roberto E. Lopez-Herrejon, Alexander Egyed, "Recovering traceability between features and code in product variants.", pp. 131-140, 2013.
Bibtex Entry:
@Conference{DBLP:conf/splc/LinsbauerLE13,
  Title                    = {Recovering traceability between features and code in product variants.},
  Author                   = {Lukas Linsbauer and Roberto E. Lopez-Herrejon and Alexander Egyed},
  Booktitle                = {17th International Software Product Line Conference (SPLC), Tokyo, Japan},
  Year                     = {2013},
  Pages                    = {131-140},

  Abstract                 = {Many companies offer a palette of similar software products though they do not necessarily have a Software Product Line (SPL). Rather, they start building and selling individual products which they then adapt, customize and extend for different customers. As the number of product variants increases, these companies then face the severe problem of having to maintain them all. Software Product Lines can be helpful here - not so much as a platform for creating newproducts but as a means of maintaining the existing oneswith their shared features. Here, an important first step is to determine where features are implemented in the source code and in what product variants. To this end, this paper presents a novel technique for deriving the traceability between features and code in product variants by matching code overlaps and feature overlaps. This is a diffcult problem because a feature's implementation not only covers its basic functionality (which does not change across product variants) but may include code that deals with feature interaction issues and thus changes depending on the combination of features present in a product variant. We empirically evaluated the approach on three non-trivial case studies of different sizes and domains and found that our approach correctly identifies feature to code traces except for code that traces to multiple disjunctive features, a rare case involving less than 1% of the code.},
  Doi                      = {10.1145/2491627.2491630},
  File                     = {Recovering Traceability between Features and Code in Product Variants:Conferences\\SPLC 2013 - Recovering Traceability between Features and Code in Product Variants\\Recovering Traceability between Features and Code in Product Variants.pdf:PDF},
  Keywords                 = {variability, traceability, FWF P23115-N23}
}
Powered by bibtexbrowser