Ripples of a Mutation — An Empirical Study of Propagation Effects in Mutation Testing
Title: Ripples of a Mutation — An Empirical Study of Propagation Effects in Mutation Testing
Badges we are aiming for: Availability and Reusability badges. Technology skills: Linux command, Docker, Java Abstract/Purpose of the research artifact:
The mechanics of how a fault reveals itself as a test failure is of keen interest to software researchers and practitioners alike. An improved understanding of how faults translate to failures can guide improvements in broad facets of software testing, ranging from test suite design to automated program repair, which are premised on the understanding that the presence of faults would alter some test executions. This study explores the ripples of mutations, i.e., RIPR (Reachability, Infection, Propagation, Reveal) analysis within the scope of mutation testing. To enhance replicability and usability, we present an open-source artifact encompassing: (1) a functional and scalable implementation of the RIPR analysis framework for mutants; (2) designated subject projects for RIPR analysis, as discussed in this paper; and (3) the pertinent dataset.
It should be noted that executing RIPR analysis for each subject project can span from several hours to up to four days, depending on project size as this process necessitates ten supplementary non-mutation test runs for each mutation test run with additional probes that synchronize two test runs with and without mutation execution, check state infection, and propagation. Moreover, storage requirements for memory data range up to 300 GB per subject project.
As such, to facilitate artifact verification, we provide all source code, scripts, and build configurations required for experimental reproduction. Moreover, we document these artifacts to allow for future reuse in follow-up studies and research. Finally, we have configured dual Docker containers to accommodate both Intel and ARM chip architectures, thereby illustrating the pipelines and configuration of our experimental setup for running RIPR (and mutation) analyses locally pertinent to a production class from our Apache commons-text subject program. Furthermore, we provide guidance on tailoring the RIPR analysis beyond the Docker environment, with the possibility of modifying the code to pave the way for future research endeavors.