TRANSMUT‐Spark: Transformation mutation for Apache Spark
João Batista de Souza Neto, Anamaria Martins Moreira, Genoveva Vargas‐Solar, Martin Alejandro Musicante · Software Testing Verification and Reliability · 2022
Summary This paper proposesTRANSMUT‐Sparkfor automating mutation testing of big data processing code within Spark programs. Apache Spark is an engine for big data analytics/processing that hides the inherent complexity of parallel big data programming. Nonetheless, programmers must cleverly combine Spark built‐in functions within programs and guide the engine to use the right data management strategies to exploit the computational resources required by big data processing and avoid substantial production losses. Many programming details in Spark data processing code are prone to false statements that must be correctly and automatically tested. This paper explores the application of mutation testing in Spark programs, a fault‐based testing technique that relies on fault simulation to evaluate and design test sets. The paper introducesTRANSMUT‐Sparkfor testing Spark programs by automating the most laborious steps of the process and fully executing the mutation testing process. The paper describes how theTRANSMUT‐Sparkautomates the mutant generation, test execution and adequacy analysis phases of mutation testing. It also discusses the results of experiments to validate the tool and argues its scope and limitations.