µAkka: Mutation Testing for Actor Concurrency in Akka using Real-World Bugs
Mohsen Moradi-Moghadam, Mehdi Bagherzadeh, Raffi Khatchadourian, Hamid Bagheri
摘要
Actor concurrency is becoming increasingly important in the realworld and mission-critical software. This requires these applications to be free from actor bugs, that occur in the real world, and have tests that are effective in finding these bugs. Mutation testing is a well-established technique that transforms an application to induce its likely bugs and evaluate the effectiveness of its tests in finding these bugs. Mutation testing is available for a broad spectrum of applications and their bugs, ranging from web to mobile to machine learning, and is used at scale in companies like Google and Facebook. However, there still is no mutation testing for actor concurrency that uses real-world actor bugs. In this paper, we propose 𝜇Akka, a framework for mutation testing of Akka actor concurrency using real actor bugs. Akka is a popular industrial-strength implementation of actor concurrency. To design, implement, and evaluate 𝜇Akka, we take the following major steps: ( 1) manually analyze a recent set of 186 real Akka bugs from Stack Overflow and GitHub to understand their causes; (2) design a set of 32 mutation operators, with 138 source code changes in Akka API, to emulate these causes and induce their bugs; (3) implement these operators in an Eclipse plugin for Java Akka; (4) use the plugin to generate 11.7k mutants of 10 real GitHub applications, with 446.4k lines of code and 7.9k tests; (5) run these tests on these mutants to measure the quality of mutants and effectiveness of tests; (6) use PIT to generate 26.2k mutants to compare 𝜇Akka and PIT mutant quality and test effectiveness. PIT is a popular mutation testing tool with traditional operators; ( 7) manually analyze the bug coverage and overlap of 𝜇Akka, PIT, and actor operators in a previous work; and (8) discuss a few implications of our findings. Among others, we find that 𝜇Akka mutants are higher quality, cover more bugs, and tests are less effective in detecting them.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper4
- DeepCrime: mutation testing of deep learning systems based on real faultsNargiz Humbatova, Gunel Jahangirova, Paolo TonellaISSTA 2021 · 被引用 114 次
- An Empirical Study of Refactorings and Technical Debt in Machine Learning SystemsYiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh 等ICSE 2021 · 被引用 60 次
- Prioritizing Mutants to Guide Mutation TestingSamuel J. Kaufman, Ryan Featherman, Justin Alvin, Bob Kurtz 等ICSE 2022 · 被引用 36 次
- Actor concurrency bugs: a comprehensive study on symptoms, root causes, API usages, and differencesMehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi KhatchadourianOOPSLA 2020 · 被引用 13 次
相关 Paper
- Transforming Test Suites into CroissantsYang Chen, Alperen Yildiz, Darko Marinov, Reyhaneh JabbarvandISSTA 2023 · 被引用 5 次
- Mantra: Mutation Testing of Hardware Design Code Based on Real BugsJiang Wu, Yan Lei, Zhuo Zhang, Xiankai Meng 等DAC 2023 · 被引用 7 次
- Does mutation testing improve testing practices?Goran Petrovic, Marko Ivankovic, Gordon Fraser, René JustICSE 2021 · 被引用 6 次
- Ma11y: A Mutation Framework for Web Accessibility TestingMahan Tafreshipour, Anmol Vilas Deshpande, Forough Mehralian, Iftekhar Ahmed 等ISSTA 2024 · 被引用 5 次
- Natural Test Generation for Precise Testing of Question Answering SoftwareQingchao Shen, Junjie Chen, Jie M. Zhang, Haoyu Wang 等ASE 2022 · 被引用 27 次
