Mutation testing in parallel threads
AssigneeState Farm Mutual Automobile Insurance Company
InventorsAndrew L. Pearson, Nate Shepherd
Life of this patent
Estimating the term…
Abstract
Mutation testing can indicate whether mutants of a software application, created by intentionally altering source code of the software application, are successfully “killed” by test cases executed against the mutants. Mutation testing can be performed via parallel threads by, within each parallel thread, modifying individual source code class files and recompiling the modified class files to generate and test mutants. Individual mutation test results produced within each of the parallel threads can be aggregated to generate an aggregated test result report that indicates overall testing metrics associated with the mutation testing across the parallel threads.
Claims20
A computer-implemented method, comprising:
- identifying, by one or more processors, mutatable source code class files associated with a software application;
- generating, by the one or more processors, mutated source code class files by modifying the mutatable source code class files based on at least one mutation configuration;
- compiling, by the one or more processors, the mutated source code class files into compiled bytecode class files that have a different structure than an original structure of the mutated source code class files;
- and
- executing, by the one or more processors, and in parallel, test cases against application mutants that include one or more of the compiled bytecode class files.
One or more computing devices, comprising:
- one or more processors;
- and
- memory storing computer-executable instructions associated with a mutation test manager that, when executed by the one or more processors, cause the one or more processors to:
- generate mutated source code class files by modifying original source code class files, associated with a software application, based on at least one mutation configuration;
- compile the mutated source code class files into compiled bytecode class files that have a different structure than an original structure of the original source code class files;
- and
- execute, in parallel, test cases against application mutants comprising the compiled bytecode class files.
One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to:
- generate mutated source code class files by modifying original source code class files, associated with a software application, based on at least one mutation configuration;
- compile the mutated source code class files into compiled mutated bytecode class files that have a different structure than an original structure of the original source code class files;
- and
- perform mutation testing by executing, in parallel, test cases against different application mutants that comprise different sets of one or more of the compiled mutated bytecode class files.
A system comprising:
- means for identifying mutatable source code class files associated with a software application;
- means for generating mutated source code class files by modifying the mutatable source code class files based on at least one mutation configuration;
- means for compiling the mutated source code class files into compiled bytecode class files that have a different structure than an original structure of the mutated source code class files;
- and
- means for executing, in parallel, test cases against application mutants that include one or more of the compiled bytecode class files.
Dependencies are inferred from the claim text.