Efficient JavaScript Mutation Testing
Shabnam Mirshokraie,Ali Mesbah,Karthik Pattabiraman +2 more
- 18 Mar 2013
- pp 74-83
86
TL;DR: This paper proposes 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.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Mutation Testing Advances: An Analysis and Survey
Mike Papadakis,Marinos Kintis,Jie Zhang,Yue Jia,Yves Le Traon,Mark Harman +5 more
- 01 Jan 2019
TL;DR: This chapter presents a survey of recent advances, over the past decade, related to the fundamental problems of mutation testing and sets out the challenges and open problems for the future development of the method.
Web application testing: A systematic literature review
TL;DR: The results of this SLR can help researchers to obtain an overview of existing web application testing approaches, fault models, tools, metrics and empirical evidence, and subsequently identify areas in the field that require more attention from the research community.
124
BugsJS: a Benchmark of JavaScript Bugs
Péter Gyimesi,Bela Vancsics,Andrea Stocco,Davood Mazinanian,Arpad Beszedes,Rudolf Ferenc,Ali Mesbah +6 more
- 22 Apr 2019
TL;DR: BugsJS is proposed, a benchmark of 453 real, manually validated JavaScript bugs from 10 popular JavaScript server-side programs, comprising 444k LOC in total, which facilitates conducting highly-reproducible empirical studies and comparisons of JavaScript analysis and testing tools.
112
Leveraging existing tests in automated test generation for web applications
Amin Milani Fard,Mehdi Mirzaaghaei,Ali Mesbah +2 more
- 15 Sep 2014
TL;DR: This paper proposes to mine the human knowledge present in the form of input values, event sequences, and assertions, in the human-written test suites, and combine that inferred knowledge with the power of automated crawling, and extend the test suite for uncovered/unchecked portions of the web application under test.
99
References
Type Sensitive Application of Mutation Operators for Dynamically Typed Programs
Leonardo Bottaci
- 06 Apr 2010
TL;DR: A mutation analysis method in which the definition of mutants is performed at run-time when type information is available and the type information can be used to avoid generating incompetent mutants.
22
Efficient mutation testing by checking invariant violations
David Schuler,Valentin Dallmeier,Andreas Zeller +2 more
- 19 Jul 2009
TL;DR: In an evaluation of the JAVALANCHE framework on seven industrial-size programs, it was found that mutations that violate invariants are significantly more likely to be detectable by a test suite.
Automatically detecting equivalent mutants and infeasible paths
A. Jefferson Offutt,Jie Pan +1 more
TL;DR: This paper presents a technique that uses mathematical constraints, originally developed for test data generation, to detect some equivalent mutants and infeasible paths automatically.
Using Program Slicing to Assist in the Detection of Equivalent Mutants
TL;DR: Program slicing is used to simplify the human analysis required in detecting equivalent mutants and to reduce the number of equivalent mutants produced.
(Un-)Covering Equivalent Mutants
David Schuler,Andreas Zeller +1 more
- 06 Apr 2010
TL;DR: This paper examines whether changes in coverage can be used to detect non-equivalent mutants: if a mutant changes the coverage of a run, it is more likely to be non-Equivalent.