Using Code Mutation to Study Code Faults in Scientific Software