DocumentCode
665548
Title
Search-based data-flow test generation
Author
Vivanti, Mattia ; Mis, Andre ; Gorla, Alessandra ; Fraser, Gordon
Author_Institution
Univ. of Lugano, Lugano, Switzerland
fYear
2013
fDate
4-7 Nov. 2013
Firstpage
370
Lastpage
379
Abstract
Coverage criteria based on data-flow have long been discussed in the literature, yet to date they are still of surprising little practical relevance. This is in part because 1) manually writing a unit test for a data-flow aspect is more challenging than writing a unit test that simply covers a branch or statement, 2) there is a lack of tools to support data-flow testing, and 3) there is a lack of empirical evidence on how well data-flow testing scales in practice. To overcome these problems, we present 1) a search-based technique to automatically generate unit tests for data-flow criteria, 2) an implementation of this technique in the Evosuite test generation tool, and 3) a large empirical study applying this tool to the SF100 corpus of 100 open source Java projects. On average, the number of coverage objectives is three times as high as for branch coverage. However, the level of coverage achieved by Evosuite is comparable to other criteria, and the increase in size is only 15%, leading to higher mutation scores. These results counter the common assumption that data-flow testing does not scale, and should help to re-establish data-flow testing as a viable alternative in practice.
Keywords
Java; data flow analysis; program testing; public domain software; EVOSUITE test generation tool; SF100 corpus; coverage criteria; data-flow aspect; data-flow testing; open source Java projects; search-based data-flow test generation; Equations; Java; Optimization; Search problems; Standards; Testing; Writing; data-flow coverage; search based testing; unit testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Reliability Engineering (ISSRE), 2013 IEEE 24th International Symposium on
Conference_Location
Pasadena, CA
Type
conf
DOI
10.1109/ISSRE.2013.6698890
Filename
6698890
Link To Document