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
Crawl-Based Analysis of Web Applications: Prospects and Challenges
A. Van Deursen,Ali Mesbah,Alex Nederlof +2 more
- 30 Sep 2014
TL;DR: The open source Crawljax tool, and the various extensions that have been proposed in order to address such issues as cross-browser compatibility testing, web application regression testing, and style sheet usage analysis are described.
PYTHIA: generating test cases with oracles for JavaScript applications
Shabnam Mirshokraie,Ali Mesbah,Karthik Pattabiraman +2 more
- 11 Nov 2013
TL;DR: This work presents a framework to automatically generate unit test cases for individual JavaScript functions, strengthened by automatically generated test oracles capable of detecting faults in JavaScript code.
26
BUGSJS: a benchmark and taxonomy of JavaScript bugs
Péter Gyimesi,Bela Vancsics,Andrea Stocco,Davood Mazinanian,Arpad Beszedes,Rudolf Ferenc,Ali Mesbah +6 more
TL;DR: BugsJS is a benchmark of 453 real, manually validated JavaScript bugs from 10 popular JavaScript server‐side programs, comprising 444k lines of code (LOC) in total, and a classification of the bugs according to their nature is performed, which shows that the taxonomy is adequate for characterizing the bugs in BugsJS.
23
Automatic fault localization for client-side JavaScript
TL;DR: The approach is implemented in an open source tool called AUTOFLOX, and evaluation results indicate that it is capable of automatically localizing DOM‐related JAVASCRIPT faults with high accuracy (over 96%) and no false‐positives.
Atrina: Inferring Unit Oracles from GUI Test Cases
Shabnam Mirshokraie,Ali Mesbah,Karthik Pattabiraman +2 more
- 11 Apr 2016
TL;DR: The results indicate that ATRINA maps DOM-based assertions to the corresponding JavaScript code with high accuracy and fault finding capability, and surpasses the state-of-the-art mutation-based assertion generation technique by 26% on average in detecting faults.
20
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.