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 operators for testing Android apps
TL;DR: This paper introduces several novel mutation operators based on a fault study of Android apps, presents a significant empirical study with real-world apps, and provides conclusions based on an analysis of the results.
98
Guided Mutation Testing for JavaScript Web Applications
TL;DR: This work presents 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, and proposes a set of mutation operators that are specific to Web applications.
72
Semantic bug seeding: a learning-based approach for creating realistic bugs
Jibesh Patra,Michael Pradel +1 more
- 20 Aug 2021
TL;DR: SemSeed as mentioned in this paper is a technique for automatically seeding bugs in a semantics-aware way, which is based on learning token embeddings that encode the semantic similarities of identifiers and literals.
68
MuSC: a tool for mutation testing of ethereum smart contract
Zixin Li,Haoran Wu,Jiehui Xu,Xingya Wang,Lingming Zhang,Zhenyu Chen +5 more
- 10 Nov 2019
TL;DR: MuSC, a mutation testing tool for Ethereum Smart Contract (ESC), is introduced, which can generate numerous mutants at a fast speed and supports the automatic operations such as creating test nets, deploying and executing tests.
59
Feedback-directed exploration of web applications to derive test models
Amin Milani Fard,Ali Mesbah +1 more
- 01 Nov 2013
TL;DR: This paper proposes a feedback-directed web application exploration technique to derive test models that dynamically measures and applies a combination of code coverage impact, navigational diversity, and structural diversity, to decide a-priori which state should be expanded and which event should be exercised next.
54
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.