Batching Non-Conflicting Mutations for Efficient, Safe, Parallel Mutation Analysis in Rust
Rust is a relatively young, memory-safe systems programming language which is increasingly being adopted by projects requiring both performance and safety. While automated testing is built into the language, tool support for mutation analysis is almost non-existent, having not been the subject of past research. This leaves Rust developers without a way to determine test thoroughness. To address this problem, we design a mutation analysis process for Rust that overcomes challenges related to generating viable mutations due to the strictness of the language in terms of its type system, memory restrictions, and the potential to introduce undefined behavior in unsafe code blocks. Our technique efficiently evaluates mutations simultaneously through a process we refer to as “batching” — the use of static analysis to determine mutations that are non-conflicting and therefore are able to be evaluated together. Batching enables our technique to maximize thread usage, executing more tests in parallel and further reducing the time required to evaluate mutations. We implemented these techniques into a tool, mutest-rs, which we empirically evaluated on a diverse set of common subject libraries and Rust programs, and found that our batching method for in- creasing parallelism is able to reduce the overall runtime of mutation analysis by up to 66.4%, compared to not applying batching.
Tue 18 AprDisplayed time zone: Dublin change
11:00 - 12:30 | Session 8: Mutation TestingJournal-First Papers / Research Papers at Grand canal Chair(s): Renzo Degiovanni SnT, University of Luxembourg | ||
11:00 20mTalk | Mutation testing of PL/SQL programs Journal-First Papers | ||
11:20 20mTalk | How Closely are Common Mutation Operators Coupled to Real Faults? Research Papers | ||
11:40 20mTalk | Batching Non-Conflicting Mutations for Efficient, Safe, Parallel Mutation Analysis in Rust Research Papers | ||
12:00 20mTalk | MUTAGEN: Reliable Coverage-Guided, Property-Based Testing using Exhaustive Mutations Research Papers Agustín Mista Chalmers University of Technology, Alejandro Russo Chalmers University of Technology, Sweden |