Evaluating CAVM: A New Search-Based Test Data Generation Tool for C
We present CAVM (pronounced “ka-boom”), a new search-based test data generation tool for C. CAVM is developed to augment an existing commercial tool, CodeScroll, which uses static analysis and input partitioning to generate test data. Unlike the current state-of-the-art search-based test data generation tool for C, Austin, CAVM handles dynamic data structures using purely search-based techniques. We compare CAVM against CodeScroll and Austin using 49 C functions, ranging from small anti-pattern case studies to real world open source code and commercial code. The results show that CAVM can cover branches that neither CodeScroll nor Austin can, while also exclusively achieving the highest branch coverage for 20 of the studied functions.
This work was supported by the ICT R&D program of MSIP/IITP [Grant No. R7117-16-0005: A connected private cloud platform for mission critical software test and verification].
- 1.Harman, M., Kim, S.G., Lakhotia, K., McMinn, P., Yoo, S.: Optimizing for the number of tests generated in search based test data generation with an application to the oracle cost problem. In: Proceedings of the 3rd International Workshop on Search-Based Software Testing (SBST 2010), pp. 182–191, April 2010Google Scholar
- 5.Kim, J., You, B., Kwon, M., McMinn, P., Yoo, S.: Evaluation of CAVM, Austin, and CodeScroll for test data generation for C. Technical report. CS-TR-2017-413, School of Computing, Korean Advanced Institute of Science and Technology (2017)Google Scholar
- 6.Lakhotia, K., Harman, M., Gross, H.: AUSTIN: a tool for search based software testing for the C language and its evaluation on deployed automotive systems. In: 2nd International Symposium on Search Based Software Engineering, pp. 101–110, September 2010Google Scholar