DocumentCode :
740638
Title :
Guided Mutation Testing for JavaScript Web Applications
Author :
Mirshokraie, Shabnam ; Mesbah, Ali ; Pattabiraman, Karthik
Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of British Columbia, Vancouver, BC, Canada
Volume :
41
Issue :
5
fYear :
2015
Firstpage :
429
Lastpage :
444
Abstract :
Mutation testing is an effective test adequacy assessment technique. However, there is a high computational cost in executing the test suite against a potentially large pool of generated mutants. Moreover, there is much effort involved in filtering out equivalent mutants. Prior work has mainly focused on detecting equivalent mutants after the mutation generation phase, which is computationally expensive and has limited efficiency. We propose an algorithm to select variables and branches for mutation as well as a metric, called FunctionRank, to rank functions according to their relative importance from the application´s behaviour point of view. We present a technique that leverages static and dynamic analysis to guide the mutation generation process towards parts of the code that are more 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. The results of our empirical evaluation show that (1) more than 93 percent of generated mutants are non-equivalent, and (2) more than 75 percent of the surviving non-equivalent mutants are in the top 30 percent of the ranked functions.
Keywords :
Java; program diagnostics; program testing; FunctionRank; JavaScript Web applications; MUTANDIS tool; Web applications; application behaviour; computational cost; dynamic analysis; empirical evaluation; equivalent mutants; function ranking; guided mutation testing; mutation generation phase; mutation operators; nonequivalent mutants; program output; relative function importance; static analysis; test adequacy assessment technique; test suite execution; variable selection; Complexity theory; Heuristic algorithms; IEEE Computer Society; Instruments; Measurement; Performance analysis; Testing; JavaScript; Mutation testing; equivalent mutants; guided mutation generation; mutation testing; web applications;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/TSE.2014.2371458
Filename :
6960094
Link To Document :
بازگشت