English

DeepMutation: A Neural Mutation Tool

Software Engineering 2020-02-14 v2 Computation and Language Machine Learning

Abstract

Mutation testing can be used to assess the fault-detection capabilities of a given test suite. To this aim, two characteristics of mutation testing frameworks are of paramount importance: (i) they should generate mutants that are representative of real faults; and (ii) they should provide a complete tool chain able to automatically generate, inject, and test the mutants. To address the first point, we recently proposed an approach using a Recurrent Neural Network Encoder-Decoder architecture to learn mutants from ~787k faults mined from real programs. The empirical evaluation of this approach confirmed its ability to generate mutants representative of real faults. In this paper, we address the second point, presenting DeepMutation, a tool wrapping our deep learning model into a fully automated tool chain able to generate, inject, and test mutants learned from real faults. Video: https://sites.google.com/view/learning-mutation/deepmutation

Keywords

Cite

@article{arxiv.2002.04760,
  title  = {DeepMutation: A Neural Mutation Tool},
  author = {Michele Tufano and Jason Kimko and Shiya Wang and Cody Watson and Gabriele Bavota and Massimiliano Di Penta and Denys Poshyvanyk},
  journal= {arXiv preprint arXiv:2002.04760},
  year   = {2020}
}

Comments

Accepted to the 42nd ACM/IEEE International Conference on Software Engineering (ICSE 2020), Demonstrations Track - Seoul, South Korea, May 23-29, 2020, 4 pages