Precise Guidance to Dynamic Test Generation

TheAnh Do, A. C. M. Fong, Russel Pears

Abstract

Dynamic symbolic execution has been shown an effective technique for automated test input generation. However, its scalability is limited due to the combinatorial explosion of the path space. We propose to take advantage of data flow analysis to better perform dynamic symbolic execution in the context of generating test inputs for maximum structural coverage. In particular, we utilize the chaining mechanism to (1) extract precise guidance to direct dynamic symbolic execution towards exploring uncovered code elements and (2) meanwhile significantly optimize the path exploration process. Preliminary experiments conducted to evaluate the performance of the proposed approach have shown very encouraging results.

References

  1. Aho, A. V., Lam, M. S., Sethi, R., and Ullman, J. D. (2008). Compilers: Principles, Techniques, and Tools. Addison Wesley, 2nd edition.
  2. Binkley, D. W., Harman, M., and Lakhotia, K. (2011). FlagRemover: A testability transformation for transforming loop-assigned flags. ACM Transactions on Software Engineering and Methodology 20(3).
  3. Bird, D., and Munoz, C. (1983). Automatic generation of random self-checking test cases. IBM Systems Journal, 22(3), 229-245.
  4. British Standards Institute (1998). BS 7925-1 Vocabulary of Terms in Software Testing.
  5. Burnim, J., and Sen, K. (2008). Heuristics for scalable dynamic test generation. In ASE, pp. 443-446.
  6. Cadar, C., Godefroid, P., Khurshid, S., Pasareanu, C. S., Sen, K., Tillmann, N., and Visser, W. (2011). Symbolic execution for software testing in practice: preliminary assessment. In ICSE, pp. 1066-1071.
  7. Ferguson, R., and Korel, B. (1996). The chaining approach for software test data generation. ACM Transactions on Software Engineering and Methodology, 5(1).
  8. Godefroid, P., Klarlund, N., and Sen, K. (2005). DART: directed automated random testing. In PLDI 7805, pp. 213-223.
  9. King, J. C. (1976). Symbolic execution and program testing. Communications of the ACM, 19, 385 - 394.
  10. McMinn, P. (2004). Search-based software test data generation: a survey. Software Testing, Verification and Reliability, 14(2).
  11. McMinn, P., and Holcombe, M. (2006). Evolutionary Testing Using an Extended Chaining Approach. Evolutionary Computation, 14(1).
  12. RTCA, Inc. (1993). Document RTCA/DO-1'B. U.S. Department of Transportation, Federal Aviation Administration, Washington, D.C.
  13. Sen, K., Marinov, D., and Agha, G. (2005 ). CUTE: a concolic unit testing engine for C. In ESEC/FSE-13, pp. 263-272.
  14. Tillmann, N., and Halleux, J. D. (2008). Pex-white box test generation for .NET. In Beckert, B., Hahnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134-153. Springer, Heidelberg.
  15. Tip, F. (1995). A survey of program slicing techniques. Journal of Programming Languages, 3(3), 121-189.
  16. Xie, T., Tillmann, N., Halleux, P. d., and Schulte, W. (2009). Fitness-guided path exploration in dynamic symbolic execution. In DSN, pp. 359-368.
Download


Paper Citation


in Harvard Style

Do T., Fong A. and Pears R. (2012). Precise Guidance to Dynamic Test Generation . In Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-13-6, pages 5-12. DOI: 10.5220/0003969000050012


in Bibtex Style

@conference{enase12,
author={TheAnh Do and A. C. M. Fong and Russel Pears},
title={Precise Guidance to Dynamic Test Generation},
booktitle={Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2012},
pages={5-12},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003969000050012},
isbn={978-989-8565-13-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Precise Guidance to Dynamic Test Generation
SN - 978-989-8565-13-6
AU - Do T.
AU - Fong A.
AU - Pears R.
PY - 2012
SP - 5
EP - 12
DO - 10.5220/0003969000050012