Recovering traceability between features and code in product variants. (bibtex)
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:
Recovering traceability between features and code in product variants. (Lukas Linsbauer, Roberto E. Lopez-Herrejon, Alexander Egyed), In Proceedings of the 17th International Software Product Line Conference (SPLC 2013), Tokyo, Japan, 2013.
Bibtex Entry:
@Conference{DBLP:conf/splc/LinsbauerLE13,
  author    = {Lukas Linsbauer and Roberto E. Lopez-Herrejon and Alexander Egyed},
  title     = {Recovering traceability between features and code in product variants.},
  booktitle = {Proceedings of the 17th International Software Product Line Conference (SPLC 2013), 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      = {:Conferences\\SPLC 2013 - Recovering Traceability between Features and Code in Product Variants\\Recovering Traceability between Features and Code in Product Variants-preprint.pdf:PDF},
  keywords  = {FWF P23115},
}
Powered by bibtexbrowser