Studying Silent Faults in Scientific Software using Program Mutation

Highly accurate scientific software requires valid scientific models, accurate numerical methods, and highly correct code. Software engineers specialize in testing code, but the lack of test oracles and the existence of “silent faults” makes it very difficult to test the correctness of scientific code. We suggest that code mutation can be used to study code faults in scientific software in the hope that software engineers can use the derived knowledge to make valuable contributions to the quality of scientific software and the associated research. This poster highlights challenges of scientific software testing before briefly describing the mutation testing process and providing sample results from mutation sensitivity tests.