Test generation via Dynamic Symbolic Execution for mutation testing

  • Authors:
  • Lingming Zhang;Tao Xie;Lu Zhang;Nikolai Tillmann;Jonathan de Halleux;Hong Mei

  • Affiliations:
  • Key Laboratory of High Confidence Software Technologies, Ministry of Education, Institute of Software, Peking University, Beijing, 100871, China;Department of Computer Science, North Carolina State University, Raleigh, 27695, USA;Key Laboratory of High Confidence Software Technologies, Ministry of Education, Institute of Software, Peking University, Beijing, 100871, China;Microsoft Research, One Microsoft Way, Redmond, WA 98074, USA;Microsoft Research, One Microsoft Way, Redmond, WA 98074, USA;Key Laboratory of High Confidence Software Technologies, Ministry of Education, Institute of Software, Peking University, Beijing, 100871, China

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mutation testing has been used to assess and improve the quality of test inputs. Generating test inputs to achieve high mutant-killing ratios is important in mutation testing. However, existing test-generation techniques do not provide effective support for killing mutants in mutation testing. In this paper, we propose a general test-generation approach, called PexMutator, for mutation testing using Dynamic Symbolic Execution (DSE), a recent effective test-generation technique. Based on a set of transformation rules, PexMutator transforms a program under test to an instrumented meta-program that contains mutant-killing constraints. Then PexMutator uses DSE to generate test inputs for the meta-program. The mutant-killing constraints introduced via instrumentation guide DSE to generate test inputs to kill mutants automatically. We have implemented our approach as an extension for Pex, an automatic structural testing tool developed at Microsoft Research. Our preliminary experimental study shows that our approach is able to strongly kill more than 80% of all the mutants for the five studied subjects. In addition, PexMutator is able to outperform Pex, a state-of-the-art test-generation tool, in terms of strong mutant killing while achieving the same block coverage.