DocumentCode :
3031698
Title :
Heuristics for Scalable Dynamic Test Generation
Author :
Burnim, Jacob ; Sen, Koushik
Author_Institution :
EECS, UC Berkeley, Berkeley, CA
fYear :
2008
fDate :
15-19 Sept. 2008
Firstpage :
443
Lastpage :
446
Abstract :
Recently there has been great success in using symbolic execution to automatically generate test inputs for small software systems. A primary challenge in scaling such approaches to larger programs is the combinatorial explosion of the path space. It is likely that sophisticated strategies for searching this path space are needed to generate inputs that effectively test large programs (by, e.g., achieving significant branch coverage). We present several such heuristic search strategies, including a novel strategy guided by the control flow graph of the program under test. We have implemented these strategies in CREST, our open source concolic testing tool for C, and evaluated them on two widely-used software tools, grep 2.2 (15 K lines of code) and Vim 5.7 (150 K lines). On these benchmarks, the presented heuristics achieve significantly greater branch coverage on the same testing budget than concolic testing with a traditional depth-first search strategy.
Keywords :
program testing; software tools; control flow graph; depth-first search strategy; open source concolic testing tool; path space; scalable dynamic test generation; software systems; software tools; symbolic execution; Automatic testing; Benchmark testing; Concrete; Explosions; Flow graphs; Jacobian matrices; Software systems; Software testing; Software tools; System testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Automated Software Engineering, 2008. ASE 2008. 23rd IEEE/ACM International Conference on
Conference_Location :
L´Aquila
ISSN :
1938-4300
Print_ISBN :
978-1-4244-2187-9
Electronic_ISBN :
1938-4300
Type :
conf
DOI :
10.1109/ASE.2008.69
Filename :
4639362
Link To Document :
بازگشت