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 detection, localization and repair of client-side JavaScript faults
Frolin S. Ocariza
- 01 Jan 2016
TL;DR: An empirical study of real-world JavaScript bugs was conducted, finding that most of these bugs are DOM-related, which means they occur as a result of the JavaScript code’s interaction with the Document Object Model (DOM).
5
Facilitating debugging of web applications through recording reduction
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, and can enable developers to localize faults based on reduced recordings instead of larger unreduced recordings, potentially reducing the amount of time and effort required to locate faults.
MuHyb: A Proposed Mutation Testing Tool for Hybrid Mobile Applications
Shazly Ahmed,Islam A. T. F. Taj-Eddin,Manal A. Ismail +2 more
- 11 Nov 2020
TL;DR: MuHyb as mentioned in this paper is an open source mutation testing tool, which supports hybrid mobile frameworks that based on Angular under Node.js using ng test command within 29 mutation operators, which can effectively test hybrid mobile applications before building it for IOS and Android, as well as indicating several directions for enhancement.
4
MutAPK 2.0: a tool for reducing mutation testing effort of Android apps
Camilo Escobar-Velásquez,Diego Riveros,Mario Linares-Vasquez +2 more
- 08 Nov 2020
TL;DR: This paper presents MutAPK 2.0, an improved version of the open source mutant generation tool (MutAPK) for Android apps at APK level that enables the removal of dead-code mutants, provides a set of mutant selection strategies, and removes automatically equivalent and duplicate mutants.
4
Automatically Assessing and Extending Code Coverage for NPM Packages
Haiyang Sun,Andrea Rosà,Daniele Bonetta,Walter Binder +3 more
- 20 May 2021
TL;DR: TESA as mentioned in this paper is a tool that automatically assembles a test suite for any package in the npm registry, including tests written for the target package and usually hosted in its development repository, and tests selected from dependent packages.
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.