TY - GEN
T1 - Faster bug detection for software product lines with incomplete feature models
AU - Souto, Sabrina
AU - Gopinath, Divya
AU - D'Amorim, Marcelo
AU - Marinov, Darko
AU - Khurshid, Sarfraz
AU - Batory, Don
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/7/20
Y1 - 2015/7/20
N2 - A software product line (SPL) is a family of programs that are differentiated by features-increments in functionality. Systematically testing an SPL is challenging because it requires running each test of a test suite against a combinatorial number of programs. Feature models capture dependencies among features and can (1) reduce the space of programs to test and (2) enable accurate categorization of failing tests as failures of programs or the tests themselves, not as failures due to illegal combinations of features. In practice, sadly, feature models are not always available. We introduce SPLif, the first approach for testing SPLs that does not require the a priori availability of feature models. Our insight is to use a profile of passing and failing test runs to quickly identify failures that are indicative of real problems in test or code rather than specious failures due to illegal feature combinations. Experimental results on five SPLs and one large configurable system (GCC) demonstrate the effectiveness of our approach. SPLif enabled the discovery of five news bugs in GCC, three of which have already been fixed.
AB - A software product line (SPL) is a family of programs that are differentiated by features-increments in functionality. Systematically testing an SPL is challenging because it requires running each test of a test suite against a combinatorial number of programs. Feature models capture dependencies among features and can (1) reduce the space of programs to test and (2) enable accurate categorization of failing tests as failures of programs or the tests themselves, not as failures due to illegal combinations of features. In practice, sadly, feature models are not always available. We introduce SPLif, the first approach for testing SPLs that does not require the a priori availability of feature models. Our insight is to use a profile of passing and failing test runs to quickly identify failures that are indicative of real problems in test or code rather than specious failures due to illegal feature combinations. Experimental results on five SPLs and one large configurable system (GCC) demonstrate the effectiveness of our approach. SPLif enabled the discovery of five news bugs in GCC, three of which have already been fixed.
KW - Feature models
KW - GCC
KW - Software testing
UR - http://www.scopus.com/inward/record.url?scp=84982850736&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84982850736&partnerID=8YFLogxK
U2 - 10.1145/2791060.2791093
DO - 10.1145/2791060.2791093
M3 - Conference contribution
AN - SCOPUS:84982850736
T3 - ACM International Conference Proceeding Series
SP - 151
EP - 160
BT - Proceedings - 19th International Software Product Line Conference, SPLC 2015
PB - Association for Computing Machinery
T2 - 19th International Software Product Line Conference, SPLC 2015
Y2 - 20 July 2015 through 24 July 2015
ER -