Mutation Operators for Large Scale Data Processing Programs in Spark [chapter]

João Batista de Souza Neto, Anamaria Martins Moreira, Genoveva Vargas-Solar, Martin Alejandro Musicante
2020 Lecture Notes in Computer Science  
This paper proposes a mutation testing approach for big data processing programs that follow a data flow model, such as those implemented on top of Apache Spark. Mutation testing is a fault-based technique that relies on fault simulation by modifying programs, to create faulty versions called mutants. Mutant creation is carried on by operators able to simulate specific and well identified faults. A testing process must be able to signal faults within mutants and thereby avoid having ill
more » ... rs within a program. We propose a set of mutation operators designed for Spark programs characterized by a data flow and data processing operations. These operators model changes in the data flow and operations, to simulate faults that take into account Spark program characteristics. We performed manual experiments to evaluate the proposed mutation operators in terms of cost and effectiveness. Thereby, we show that mutation operators can contribute to the testing process, in the construction of reliable Spark programs.
doi:10.1007/978-3-030-49435-3_30 fatcat:o3sokdt6kncytou4jdclm555pe