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
On the use of delta debugging to reduce recordings and facilitate debugging of web applications
Mouna Hammoudi,Brian Burg,Gigon Bae,Gregg Rothermel +3 more
- 30 Aug 2015
TL;DR: Delta Debugging is adapted to function on recordings of web applications, in a manner that lets it identify and discard portions of those recordings that do not influence the occurrence of a failure.
35
JavaScript: The (Un)Covered Parts
Amin Milani Fard,Ali Mesbah +1 more
- 01 Mar 2017
TL;DR: The first empirical study of JavaScript tests to characterize their prevalence, quality metrics, and shortcomings is presented, showing that JavaScript tests lack proper coverage for event-dependent callbacks, asynchronous callback, and DOM-related code.
34
A Systematic Literature Review of How Mutation Testing Supports Quality Assurance Processes
TL;DR: The results show that most studies use mutation testing as an assessment tool targeting unit tests, and many of the supporting techniques for making mutation testing applicable in practice are still underdeveloped.
•Posted Content
Mutation Testing for Ethereum Smart Contract.
TL;DR: This paper proposes a systematic framework to mutation testing for smart contracts on Ethereum, which is currently the most popular open blockchain for deploying and running smart contracts.
29
Crawl-based analysis of web applications
TL;DR: Crawljax as discussed by the authors is a tool for automated crawling and testing of web applications, including cross-browser compatibility testing, web application regression testing, and style sheet usage analysis.
27
References
The anatomy of a large-scale hypertextual Web search engine
Sergey Brin,Lawrence Page +1 more
- 01 Apr 1998
TL;DR: This paper provides an in-depth description of Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext and looks at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want.
•Journal Article
The Anatomy of a Large-Scale Hypertextual Web Search Engine.
Sergey Brin,Lawrence Page +1 more
TL;DR: Google as discussed by the authors is a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext and is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems.
13.3K
A Complexity Measure
TL;DR: Several properties of the graph-theoretic complexity are proved which show, for example, that complexity is independent of physical size and complexity depends only on the decision structure of a program.
6K
•Book
A complexity measure
Thomas J. McCabe
- 04 Oct 1993
TL;DR: In this paper, a graph-theoretic complexity measure for managing and controlling program complexity is presented. But the complexity is independent of physical size, and complexity depends only on the decision structure of a program.
5.1K
A validation of object-oriented design metrics as quality indicators
TL;DR: Several of Chidamber and Kemerer's OO metrics appear to be useful to predict class fault-proneness during the early phases of the life-cycle and are better predictors than "traditional" code metrics, which can only be collected at a later phase of the software development processes.