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
Advances in Testing JavaScript-Based Web Applications
TL;DR: This chapter looks at recent empirical studies, testing techniques, test oracle automation approaches, test adequacy assessment methods, fault localization and repair, and Integrated Development Environment support to help programmers write better JavaScript code.
15
Mutode: generic JavaScript and Node.js mutation testing tool
Diego Rodríguez-Baquero,Mario Linares-Vasquez +1 more
- 12 Jul 2018
TL;DR: Mutode, an open source tool which leverages the npm package ecosystem to perform mutation testing for JavaScript and Node.js applications is proposed.
15
Software Analysis for the Web: Achievements and Prospects
Ali Mesbah
- 14 Mar 2016
TL;DR: An overview of the evolution of the web itself is provided, and some of the main industrial and research achievements in software analysis and testing techniques geared toward web apps, in the past two decades are focused on.
10
A systematic literature review of how mutation testing supports test activities.
Qianqian Zhu,Annibale Panichella,Andy Zaidman +2 more
- 28 Sep 2016
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.
8
How Good Are Your Types? Using Mutation Analysis to Evaluate the Effectiveness of Type Annotations
Rahul Gopinath,Eric Walkingshaw +1 more
- 01 Mar 2017
TL;DR: This work analyzes mutants produced by the MutPy mutation framework against both a test suite and against type-annotated programs and shows that, while mutation analysis can be useful for evaluating the effectiveness of type annotations, it requires stronger mutation operators that target type information in programs to be an effective mutation analysis tool.
8
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.