Lévai, Z. and McMinn, P. orcid.org/0000-0001-9137-7433 (2023) Batching non-conflicting mutations for efficient, safe, parallel mutation analysis in rust. In: 2023 IEEE Conference on Software Testing, Verification and Validation (ICST). 16th IEEE International Conference on Software Testing, Verification and Validation (ICST) 2023, 16-20 Apr 2023, Dublin, Ireland. Institute of Electrical and Electronics Engineers (IEEE), pp. 49-59. ISBN: 978-1-6654-5667-8. ISSN: 2159-4848.
Abstract
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 increasing parallelism is able to reduce the overall runtime of mutation analysis by up to 66.4%, compared to not applying batching.
Metadata
| Item Type: | Proceedings Paper |
|---|---|
| Authors/Creators: |
|
| Copyright, Publisher and Additional Information: | © 2023 The Authors. Except as otherwise noted, this author-accepted version of a conference paper published in 2023 IEEE Conference on Software Testing, Verification and Validation (ICST) Proceedings is made available via the University of Sheffield Research Publications and Copyright Policy under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution and reproduction in any medium, provided the original work is properly cited. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ |
| Keywords: | Software testing; Computer languages; Runtime; Codes; Memory management; Static analysis; Parallel processing |
| Dates: |
|
| Institution: | The University of Sheffield |
| Academic Units: | The University of Sheffield > Faculty of Engineering (Sheffield) > Department of Computer Science (Sheffield) |
| Date Deposited: | 09 Aug 2024 11:59 |
| Last Modified: | 21 Jan 2026 15:47 |
| Status: | Published |
| Publisher: | Institute of Electrical and Electronics Engineers (IEEE) |
| Refereed: | Yes |
| Identification Number: | 10.1109/icst57152.2023.00014 |
| Related URLs: | |
| Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:215350 |
Download
Filename: levai-batching-2023.pdf
Licence: CC-BY 4.0

CORE (COnnecting REpositories)
CORE (COnnecting REpositories)