Efficient JavaScript Mutation Testing (ICST 2013)

Shabnam Mirshokraie, Ali Mesbah, and Karthik Pattabiraman (2013). Efficient JavaScript Mutation Testing. In Proceedings of the 6th IEEE International Conference on Software Testing, Verification and Validation, (ICST’13).

Abstract: Mutation testing is an effective test adequacy assessment technique. However, it suffers from two main issues. First, there is a high computational cost in executing the test suite against a potentially large pool of generated mutants. Second, there is much effort involved in filtering out equivalent mutants, which are syntactically different but semantically identical to the original program. Prior work has mainly focused on detecting equivalent mutants after the mutation generation phase, which is computationally expensive and has limited efficiency. In this paper, we propose a technique that leverages static and dynamic program analysis to guide the mutation generation process a-priori towards parts of the code that are error-prone or likely to influence the program’s output. Further, we focus on the JavaScript language, and propose a set of mutation operators that are specific to web applications. We implement our approach in a tool called Mutandis. We empirically evaluate Mutandis on a number of web applications to assess the efficacy of the approach.