Title :
DBTG: Demand-Driven Backtracking Test Generation
Author :
Cheng, Shaoyin ; Jiang, Fan ; Wang, Jiajie ; Zhang, Tao ; Xing, Xuezhi
Author_Institution :
Univ. of Sci. & Technol. of China
Abstract :
Test generation techniques are still weak, especially to large or complex programs. This paper presents a new test generation method, which can automatically generate inputs triggering bugs with greatly mitigating the path explosion problem. The method performs intraprocedural analysis to find potential bugs using a combined symbolic and concrete execution with simplifying callee functions; then backtracks from the bug statement to program entry to find interprocedural paths with pruning infeasible paths in due course; finally expands callee functions of these paths to prune infeasible paths again. Demand-driven means that as few paths as possible are explored in order to find feasible paths triggering bugs. We have implemented a tool based on Phoenix framework and Z3 solver. To the best of our knowledge, it is the first security analysis tool working on intermediate representation between source and binary using a combined symbolic and concrete execution. Preliminary experiments on real code of nbsmtp SMTP client are promising.
Keywords :
backtracking; program debugging; program diagnostics; program testing; Phoenix framework; SMTP client; Z3 solver; callee function; combined symbolic-concrete execution; demand-driven backtracking test generation; intraprocedural analysis; path explosion problem; security analysis tool; triggered bug detection; Automatic testing; Certification; Computer bugs; Computer security; Concrete; Explosions; Information security; Information technology; Performance analysis; Software testing; Automatic test generation; backtracking; bug finding; demand-driven; symbolic execution;
Conference_Titel :
Young Computer Scientists, 2008. ICYCS 2008. The 9th International Conference for
Conference_Location :
Hunan
Print_ISBN :
978-0-7695-3398-8
Electronic_ISBN :
978-0-7695-3398-8
DOI :
10.1109/ICYCS.2008.211