Guided test generation for coverage criteria

  • Authors:
  • Rahul Pandita;Tao Xie;Nikolai Tillmann;Jonathan de Halleux

  • Affiliations:
  • Department of Computer Science, North Carolina State University, Raleigh, USA;Department of Computer Science, North Carolina State University, Raleigh, USA;Microsoft Research, One Microsoft Way, Redmond, WA, USA;Microsoft Research, One Microsoft Way, Redmond, WA, USA

  • Venue:
  • ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.