2010 IEEE International Conference on Software Maintenance (2010)
Timi oara, Romania
Sept. 12, 2010 to Sept. 18, 2010
Rahul Pandita , Department of Computer Science, North Carolina State University, Raleigh, USA
Tao Xie , Department of Computer Science, North Carolina State University, Raleigh, USA
Nikolai Tillmann , Microsoft Research, One Microsoft Way, Redmond, WA, USA
Jonathan de Halleux , Microsoft Research, One Microsoft Way, Redmond, WA, USA
Test coverage criteria including boundary-value and logical coverage such as Modified Condition/Decision Coverage (MC/DC) have been increasingly used in safety-critical or mission-critical domains, complementing those more popularly used structural coverage criteria such as block or branch coverage. However, existing automated test-generation approaches often target at block or branch coverage for test generation and selection, and therefore do not support testing against boundary-value coverage or logical coverage. To address this issue, we propose a general approach that uses instrumentation to guide existing test-generation approaches to generate test inputs that achieve boundary-value and logical coverage for the program under test. Our preliminary evaluation shows that our approach effectively helps an approach based on Dynamic Symbolic Execution (DSE) to improve boundary-value and logical coverage of generated test inputs. The evaluation results show 30.5% maximum (23% average) increase in boundary-value coverage and 26% maximum (21.5% average) increase in logical coverage of the subject programs under test using our approach over without using our approach. In addition, our approach improves the fault-detection capability of generated test inputs by 12.5% maximum (11% average) compared to the test inputs generated without using our approach.
R. Pandita, N. Tillmann, J. de Halleux and T. Xie, "Guided test generation for coverage criteria," 2010 IEEE International Conference on Software Maintenance(ICSM), Timi oara, Romania, 2010, pp. 1-10.