TY - GEN
T1 - Automated coverage-driven test data generation using dynamic symbolic execution
AU - Su, Ting
AU - Pu, Geguang
AU - Fang, Bin
AU - He, Jifeng
AU - Yan, Jun
AU - Jiang, Siyuan
AU - Zhao, Jianjun
N1 - Publisher Copyright:
© 2014 IEEE.
Copyright:
Copyright 2015 Elsevier B.V., All rights reserved.
PY - 2014
Y1 - 2014
N2 - Recently code transformations or tailored fitness functions are adopted to achieve coverage (structural or logical criterion) driven testing to ensure software reliability. However, some internal threats like negative impacts on underlying search strategies or local maximum exist. So we propose a dynamic symbolic execution (DSE) based framework combined with a path filtering algorithm and a new heuristic path search strategy, i.e., predictive path search, to achieve faster coverage-driven testing with lower testing cost. The empirical experiments (three open source projects and two industrial projects) show that our approach is effective and efficient. For the open source projects w.r.t branch coverage, our approach in average reduces 25.5% generated test cases and 36.3% solved constraints than the traditional DSE-based approach without path filtering. And the presented heuristic strategy, on the same testing budget, improves the branch coverage by 26.4% and 35.4% than some novel search strategies adopted in KLEE and CREST.
AB - Recently code transformations or tailored fitness functions are adopted to achieve coverage (structural or logical criterion) driven testing to ensure software reliability. However, some internal threats like negative impacts on underlying search strategies or local maximum exist. So we propose a dynamic symbolic execution (DSE) based framework combined with a path filtering algorithm and a new heuristic path search strategy, i.e., predictive path search, to achieve faster coverage-driven testing with lower testing cost. The empirical experiments (three open source projects and two industrial projects) show that our approach is effective and efficient. For the open source projects w.r.t branch coverage, our approach in average reduces 25.5% generated test cases and 36.3% solved constraints than the traditional DSE-based approach without path filtering. And the presented heuristic strategy, on the same testing budget, improves the branch coverage by 26.4% and 35.4% than some novel search strategies adopted in KLEE and CREST.
UR - http://www.scopus.com/inward/record.url?scp=84910074882&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84910074882&partnerID=8YFLogxK
U2 - 10.1109/SERE.2014.23
DO - 10.1109/SERE.2014.23
M3 - Conference contribution
AN - SCOPUS:84910074882
T3 - Proceedings - 8th International Conference on Software Security and Reliability, SERE 2014
SP - 98
EP - 107
BT - Proceedings - 8th International Conference on Software Security and Reliability, SERE 2014
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 8th International Conference on Software Security and Reliability, SERE 2014
Y2 - 30 June 2014 through 2 July 2014
ER -