Tue 5 Dec 2023 15:15 - 15:30 at Golden Gate C1 - Testing II Chair(s): Brittany Johnson

Actor concurrency is becoming increasingly important in the real-world 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. (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.

Tue 5 Dec

Displayed time zone: Pacific Time (US & Canada) change

14:00 - 15:30
14:00
15m
Talk
Statfier: Automated Testing of Static Analyzers via Semantic-preserving Program Transformations
Research Papers
Huaien Zhang Southern University of Science and Technology, The Hong Kong Polytechnic University, Yu Pei Hong Kong Polytechnic University, Junjie Chen Tianjin University, Shin Hwei Tan Concordia University
Media Attached
14:15
15m
Talk
Towards Efficient Record and Replay: A Case Study in WeChat
Industry Papers
Sidong Feng Monash University, Haochuan Lu Tencent, Ting Xiong Tencent Inc., Yuetang Deng Tencent Inc., Chunyang Chen Monash University
DOI Media Attached
14:30
15m
Talk
Contextual Predictive Mutation Testing
Research Papers
Kush Jain Carnegie Mellon University, Uri Alon Carnegie Mellon University, Alex Groce Northern Arizona University, Claire Le Goues Carnegie Mellon University
Media Attached
14:45
15m
Talk
Towards Automated Software Security Testing: Augmenting Penetration Testing through LLMs
Ideas, Visions and Reflections
Andreas Happe TU Wien, Jürgen Cito TU Wien
Media Attached
15:00
7m
Talk
LazyCow: A Lightweight Crowdsourced Testing Tool for Taming Android Fragmentation
Demonstrations
Xiaoyu Sun Australian National University, Australia, Xiao Chen Monash University, Yonghui Liu Monash University, John Grundy Monash University, Li Li Beihang University
Media Attached
15:08
7m
Talk
Rotten Green Tests in Google Test
Industry Papers
DOI Media Attached
15:15
15m
Talk
MuAkka: Mutation Testing for Actor Concurrency in Akka Using Real-World Bugs
Research Papers
Mohsen Moradi Moghadam Oakland University, Mehdi Bagherzadeh Oakland University, Raffi Khatchadourian City University of New York (CUNY) Hunter College, Hamid Bagheri University of Nebraska-Lincoln
Pre-print Media Attached