Title
Identifying inactive code in product lines with configuration-aware system dependence graphs
Abstract
Application engineers frequently create customer-specific products in two stages: the required software components are first selected to create an initial product which is then evolved by refining the selected features and adapting the code to meet the customers' requirements. For instance, developers frequently set configuration options in the code to adjust the product. However, given that such changes are often necessary in the entire code base it is hard to know which part of the code is still relevant for the chosen configuration options. This means that engineers need to understand and maintain a lot of code that is potentially inactive in a particular product variant. Existing approaches provide only partial solutions: for instance, feature-to-code mappings do not adequately consider complex code dependencies of the implemented features. Static analysis techniques provide better results but usually do not consider variability aspects. We present an approach to automatically identify inactive code in product variants using a configuration-aware code analysis technique. We demonstrate the flexibility of our approach by customizing it to a product line of an industry partner in the domain of industrial automation. We further evaluate the approach to demonstrate its effectiveness, accuracy, and performance.
Year
DOI
Venue
2014
10.1145/2648511.2648517
SPLC
Keywords
Field
DocType
algorithms,maintenance,languages,reusable software,static analysis,clone-and-own product lines,configuration,application engineering
Application engineering,Graph,Static program analysis,Systems engineering,Computer science,Static analysis,Automation,Product line,KPI-driven code analysis,Component-based software engineering
Conference
Citations 
PageRank 
References 
17
0.58
37
Authors
5
Name
Order
Citations
PageRank
Florian Angerer11076.78
Herbert Prähofer218917.00
Daniela Lettner31527.25
Andreas Grimmer4667.44
Paul Grünbacher52007118.84