arrow
返回

Practical Mutation Testing at Scale: A view from Google

delete2022-10-01
delete35
delete
OA
AI
G
Goran Petrović *
M
Marko Ivanković
G
Gordon Fraser
R
René Just
DOI:10.1109/TSE.2021.3107634delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
Mutation analysis assesses a test suite's adequacy by measuring its ability to detect small artificial faults, systematically seeded into the tested program. Mutation analysis is considered one of the strongest test-adequacy criteria. Mutation testing builds on top of mutation analysis and is a testing technique that uses mutants as test goals to create or improve a test suite. Mutation testing has long been considered intractable because the sheer number of mutants that can be created represents an insurmountable problem-both in terms of human and computational effort. This has hindered the adoption of mutation testing as an industry standard. For example, Google has a codebase of two billion lines of code and more than 150,000,000 tests are executed on a daily basis. The traditional approach to mutation testing does not scale to such an environment; even existing solutions to speed up mutation analysis are insufficient to make it computationally feasible at such a scale. To address these challenges, this paper presents a scalable approach to mutation testing based on the following main ideas: (1) mutation testing is done incrementally, mutating only changed code during code review, rather than the entire code base; (2) mutants are filtered, removing mutants that are likely to be irrelevant to developers, and limiting the number of mutants per line and per code review process; (3) mutants are selected based on the historical performance of mutation operators, further eliminating irrelevant mutants and improving mutant quality. This paper empirically validates the proposed approach by analyzing its effectiveness in a code-review-based setting, used by more than 24,000 developers on more than 1,000 projects. The results show that the proposed approach produces orders of magnitude fewer mutants and that context-based mutant filtering and selection improve mutant quality and actionability. Overall, the proposed approach represents a mutation testing framework that seamlessly integrates into the software development workflow and is applicable to industrial settings of any size.
Keyword:
Testing
Internet
Tools
Scalability
Python
Productivity
Probabilistic logic
Mutation testing
code coverage
test efficacy
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.8K
被引数:
1.1W

机构

U
University of Passau
学者数:
692
论文数: 680
被引数: 515
U
University of Washington
学者数:
8.0W
论文数: 7.0W
被引数: 12.5W
引用论文

引用论文

The Neurobiology of Dyslexia阅读障碍的神经生物学
err2019-01-11
err0
PREAI
errDevin M. Kearns; Roeland Hancock; Fumiko Hoeft; Kenneth R. Pugh; Stephen J. Frost
err分享
err收藏
Complementary chromosome folding by transcription factors and cohesin
err
IF0
err2018-04-23
err0
PREAI
errM. C. F. Pereira; C. A. Brackley; D. Michieletto; C. Annunziatella; S. Bianco; A. M. Chiariello; M. Nicodemi; D. Marenduzzo
err分享
err收藏
Retroperitoneal Xanthogranuloma
err1982-04-01
err0
PREAI
errAvraham Sheinfeld; Alan Rubinow; Alexander Steiner; Alexander Chayat; Lea Dollberg
err分享
err收藏
Plastic deformation and sintering of alumina under high pressure
err2013-12-17
err0
errOAAI
errFangming Liu; Duanwei He; Pingping Liu; Haikuo Wang; Chao Xu; Shuai Yin; Wenwen Yin; Yong Li
err分享
err收藏
Effect of Blade Thickness on Internal Flow and Performance of a Plastic Centrifugal Pump
err2022-01-14
err0
errOAAI
errZhenfa Xu; Fanyu Kong; Lingfeng Tang; Mingwei Liu; Jiaqiong Wang; Ning Qiu
err分享
err收藏
学者 查看更多内容