Mutation.pm -- helper subroutines for mutation analysis.
This module provides helper subroutines for mutation analysis using the Major mutation framework.
Mutation::create_mml(instrument_classes,
out_file,
mut_ops)
Generates an mml file,
enabling all mutation operators defined by the array reference mut_ops
for all classes listed in instrument_classes.
The mml (source) file is written to out_file
.
This subroutine also compiles the mml file to 'out_file'.bin.
Mutation::mutation_analysis(project_ref,
log_file [,
exclude_file,
base_map,
single_test])
Runs mutation analysis for the developer-written test suites of the provided Project reference.
Returns a reference to a hash that provides kill details for all covered mutants: {mut_id} => "[TIME|EXC|FAIL|LIVE]"
Mutation::mutation_analysis_ext(project_ref,
test_dir,
include,
log_file [,
exclude_file,
base_map])
Runs mutation analysis for external (e.g.,
generated) test suites on the provided Project reference.
Returns a reference to a hash that provides kill details for all covered mutants: {mut_id} => "[TIME|EXC|FAIL|LIVE]"
Mutation::parse_mutation_operators(file_name)
Parses the provided text file and returns an array with mutation operator names (i.e., "AOR", "ROR", etc.).
Mutation::insert_row(output_dir,
pid,
vid,
suite_src,
tid,
gen,
num_excluded [,
mutation_map])
Insert a row into the database table TAB_MUTATION.
hashref
points to a hash holding all key-value pairs of the data row.
out_dir is the optional alternative database directory to use.
Mutation::copy_mutation_logs(project,
vid,
suite,
test_id,
log,
log_dir)
Copies the mutation log files to a permanent directory log_dir.
project
is the reference to a Project,
vid
is the version id,
suite
specifies the suite tag (e.g.,
manual,
randoop,
evosuite-branch),
and test_id
provides the id of the test suite.
TODO