<<

NAME

Mutation.pm -- helper subroutines for mutation analysis.

DESCRIPTION

This module provides helper subroutines for mutation analysis using the Major mutation framework.

Static subroutines

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

<<