An Exploratory Study on the Impact of Change-proneness as a Metric in Black-box Test Suite Minimization
收藏NIAID Data Ecosystem2026-05-02 收录
下载链接:
https://zenodo.org/record/14058171
下载链接
链接失效反馈官方服务:
资源简介:
An Exploratory Study on the Impact of Change-proneness as a Metric in Black-box Test Suite Minimization
This is the replication package associated with the paper "An Exploratory Study on the Impact of Change-proneness as a Metric in Black-box Test Suite Minimization".
Replication Package Contents:
This replication package contains all the necessary data and code required to reproduce the results reported in the paper. We provide the results of the Accuracy, Total Minimization Time (MT) for all the minimization budgets (i.e., 25%, 50%, and 75%).
Data:
We provide in the Data directory the data used in our experiments, which is the source code of test cases (Java test methods) of 16 projects collected from Defects4J.
Code:
We provide in the Code directory the code (Python) and bash files required to run the experiments and reproduce the results.
Results:
We provide in the Results directory the detailed results for our approach (called CTM). _________________________________
Enumerate Commit Hash (Required for analyzing last stable version)
cd Code
python3 enumerate_commit_hash.py
Input: Data/defects4j/framework/projects
Output: Data/defects4j/framework/projects/{Project}/active-bugs-with-commit-numbers.csv
Get all repos of Defects4j
cd Code
python3 get_repos.py
input: none
output: Data/defects4j-repos
Extract Change Metrics
cd Code
python3 get_change_metrics_{inception or last_stable}.py
Input: Data/defects4j-repos
Output: Data/changes_{inception or last_stable}
Merge Changes
cd Code
python3 merge_analyzed_changes.py
Input: Data/changes_{inception or last_stabel}
Output: Data/accumulated_changes_{inception or last_stable}
Construct Test case - Class dependency mapping
cd Code
python3 construct_test_case_class_mapping.py
Input: Data/callgraphs
Output: Data/class-invocations
Calculate Change Proneness and Measure the Association with Test cases
cd Code
python3 calculate_test_case_change_proneness.py
Input: Data/accumulated_changes_{inception or last_stable}, Data/unique_test_cases.csv, Data/class_invocations
Output: Data/test_case_chane_proneness_{inception or last_stable}
Minimize
cd Code
python3 greedy_minimize.py
Input: Data/test_case_chane_proneness_{inception or last_stable}
Output: Result/results/greedy_{inception or last_stable}
Evaluate
cd Code
python3 evaluate.py
Input: Result/results/greedy_{inception or last_stable}
Output: Result/accuracy/greedy_{inception or last_stable}
创建时间:
2025-01-05



