Title
Assessing product line derivation operators applied to Java source code: an empirical study
Abstract
Product Derivation is a key activity in Software Product Line Engineering. During this process, derivation operators modify or create core assets (e.g., model elements, source code instructions, components) by adding, removing or substituting them according to a given configuration. The result is a derived product that generally needs to conform to a programming or modeling language. Some operators lead to invalid products when applied to certain assets, some others do not; knowing this in advance can help to better use them, however this is challenging, specially if we consider assets expressed in extensive and complex languages such as Java. In this paper, we empirically answer the following question: which product line operators, applied to which program elements, can synthesize variants of programs that are incorrect, correct or perhaps even conforming to test suites? We implement source code transformations, based on the derivation operators of the Common Variability Language. We automatically synthesize more than 370,000 program variants from a set of 8 real large Java projects (up to 85,000 lines of code), obtaining an extensive panorama of the sanity of the operations.
Year
DOI
Venue
2015
10.1145/2791060.2791099
Proceedings of the 19th International Conference on Software Product Line
Keywords
Field
DocType
features
Programming language,Software engineering,Computer science,Panorama,Source code,Modeling language,Theoretical computer science,Software product line,Operator (computer programming),Java,Empirical research,Source lines of code
Conference
Citations 
PageRank 
References 
2
0.42
29
Authors
5
Name
Order
Citations
PageRank
Joao Bosco Ferreira Filho140.79
Simon Allier2645.19
Olivier Barais372461.99
Mathieu Acher474752.36
Benoit Baudry52000118.08