Skip to content

ComplexSoftwareLab/Mutation_2026_Mutant_Selection_Techniques

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mutant-Selection-Techniques-Evaluation

This repository is a companion to the paper "A Multi-Perspective Evaluation of Static Mutant Selection Techniques". It contains scripts to reproduce the results of the experiments. The data needed to reproduce the results can be found here. To reproduce download the figshare zip file and extract it at the root of the project.

To generate mutants using MediumDarwin tool, install the MediumDarwin tool:

To run MediumDarwin for a maven project, use:

  • python MediumDarwin.py -m -b
    -p [path to production code (usually in src/main)]
    -t [path to build directory (usually the one containing pom.xml)]
    -c [build command separated by commas (usually mvn, test-compile, test)]
    -s [enable subsumption analysis output]
    --timeout (seconds) [timeout for mutant execution (default=120)]
    --all [use all operators]

Example: python MediumDarwin.py -m -b -p /../src/main -t /../ -c mvn,test-compile --test-command mvn,test -s --timeout=120 --all

Data

program_features.csv

Features of the different projects used in the experiments

RE_full_result.csv

MMC_full_results.csv

STC_full_results.csv

MTS_full_results.csv

Contains full information on all mutant selections produced in the experiments before aggregation in the format :

Project Technique Iteration RE/MMC/STC/MTS Percentage Rank

Where:

  • Project: the project the mutants were generated from
  • Technique: the mutant selection technique used to generate the selection
  • Iteration: the iteration number, from 1 to number of repetitions (1000)
  • Percentage: the sampling rate used used to generate the selection (or corresponding for OG)
  • Rank: the rank of this technique at this sampling rate in this iteration

RE_aggregated_result.csv

MMC_aggregated_results.csv

STC_aggregated_results.csv

MTS_aggregated_results.csv

Contains agggregated information on all mutant selections produced in the experiments and their performance in the format :

technique project percentage min_Measure mean_Measure max_Measure std_Measure median_Measure

Where:

  • technique: the mutant selection technique used
  • project: the project the mutants were generated from
  • percentage: the sampling rate used for the technique
  • min_Measure: the minimum RE/MMC/STC/MTS achieved by the technique on this project at this sampling rate (across 1000 runs for techniques involving randomness)
  • mean_Measure: the mean RE/MMC/STC/MTS achieved by the technique on this project at this sampling rate (across 1000 runs for techniques involving randomness)
  • max_Measure: the maximum RE/MMC/STC/MTS achieved by the technique on this project at this sampling rate (across 1000 runs for techniques involving randomness)
  • std_Measure: the standard deviation of the RE/MMC/STC/MTS achieved by the technique on this project at this sampling rate (across 1000 runs for techniques involving randomness)
  • median_Measure: the median of the RE/MMC/STC/MTS achieved by the technique on this project at this sampling rate (across 1000 runs for techniques involving randomness)

A zip file containing the data necessary to the reproduction of our results

MedimDarwin_results

Folder containing the output produced by MediumDarwin on the 14 projects used in the experiments

selection

Folder containing the mutant sets produced by the different techniques on each project

mutant_status

Folder containing the mutant sets showing which mutants were "kiiled" or "survived"

MMC

Folder containing the output produced by the metric MMC on the 14 projects used in the experiments

STC

Folder containing the output produced by the metric STC on the 14 projects used in the experiments

MTS

Folder containing the output produced by the metric MTS on the 14 projects used in the experiments

matrices

Folder containing the mutant-test matrix on each project, showing which tests kill each mutant

Replication Scripts

The scripts used in our experiments that can be used to replicate our results, they rely on the data available in Mutation_2026.zip and are located in the replication_script folder of this repository

hybrid.py

Produces subsets of mutants using the hybrid selection techniques from mutant_status.csv's output and saves them as selection/technique_name/selected_mutants_project_name.csv

random.py

Produces subsets of mutants using the random selection sampling technique from mutant_status.csv's output and saves them as selection/technique_name/selected_mutants_project_name.csv

stratified_sampling.py

Produces subsets of mutants using the stratified selection techniques from mutant_status.csv's output and saves them as selection/technique_name/selected_mutants_project_name.csv

operator.py

Produces subsets of mutants using the operator group techniques (selective mutation) from mutant_status.csv's output and saves them as selection/technique_name/selected_mutants_project_name.csv

RE_aggregated_results.py, MMC_aggregated_results.py, STC_aggregated_results.py, MTS_aggregated_results.py

Produces aggregated_results.csv for each of the metrics from the previous scripts' outputs and saves it in aggregated_results.csv

data_visualisation.ipynb

Visualises the data contained in full_results.csv for each of the metrics

About

This repository is a companion to the paper "A Multi-Perspective Evaluation of Static Mutant Selection Techniques".

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors