Title :
iTree: Efficiently discovering high-coverage configurations using interaction trees
Author :
Song, Charles ; Porter, Adam ; Foster, Jeffrey S.
Author_Institution :
Comput. Sci. Dept., Univ. of Maryland, College Park, MD, USA
Abstract :
Software configurability has many benefits, but it also makes programs much harder to test, as in the worst case the program must be tested under every possible configuration. One potential remedy to this problem is combinatorial interaction testing (CIT), in which typically the developer selects a strength t and then computes a covering array containing all t-way configuration option combinations. However, in a prior study we showed that several programs have important high-strength interactions (combinations of a subset of configuration options) that CIT is highly unlikely to generate in practice. In this paper, we propose a new algorithm called interaction tree discovery (iTree) that aims to identify sets of configurations to test that are smaller than those generated by CIT, while also including important high-strength interactions missed by practical applications of CIT. On each iteration of iTree, we first use low-strength CIT to test the program under a set of configurations, and then apply machine learning techniques to discover new interactions that are potentially responsible for any new coverage seen. By repeating this process, iTree builds up a set of configurations likely to contain key high-strength interactions. We evaluated iTree by comparing the coverage it achieves versus covering arrays and randomly generated configuration sets. Our results strongly suggest that iTree can identify high-coverage sets of configurations more effectively than traditional CIT or random sampling.
Keywords :
combinatorial mathematics; learning (artificial intelligence); program testing; CIT; combinatorial interaction testing; efficiently discovering high coverage configurations; high strength interactions; iTree; interaction tree discovery; machine learning techniques; potential remedy; software configurability; Arrays; Clustering algorithms; Decision trees; Instruments; Machine learning; Software engineering; Testing; Empirical Software Engineering; Software Configurations; Software Testing and Analysis;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227129