遇见数据集

Enhancing Change Impact Prediction by Integrating Evolutionary Coupling with Software Change Relationships

收藏
Zenodo2024-10-30 更新2026-05-26 收录
官方服务:

资源简介:

Replication Package For Paper: Enhancing Change Impact Prediction by Integrating Evolutionary Coupling with Software Change Relationships IMPER is a change IMpact Prediction method that integrates Evolutionary coupling with software change Relationships. The approach consists of following four main steps: Step 1: Relevant Transaction Filtering. Filtering the relevant transaction set based on the given query $Q$. Step 2: Association Rule Generation. Generating association rules and obtaining the impact candidate set. Step 3: Spatial-Temporal Window Processing. Considering the temporal and spatial change relationships to obtain the impact candidate set. Step 4: Candidates Integrating and Ranking. Making a union of these two sets to find the final impact set. The repo provides files for the paper replication. It includes:: git_repo.zip: Git repository used in the study. ***-rec-database-1107.tar.gz: Neo4j dataset containing entity-level software relationship graphs and change information (changed classes, member member methods, member member variables, and files) from over 19,003 versions of six well-maintained projects. code_entiy_genealogy: Data for code entity genealogy. imper_jar.zip: Tool for the study, including: 1) Generating qualified queries; 2) Change prediction using four approaches (ROSE, TARMAQ, IMPER, IMPER-ST); 3) Evaluation. The tool outputs evaluation results for each query and average metrics (MAP, Precision, Recall, and F1-score). evaluation_metrics_details.zip: Detailed evaluation metric results for different projects. Imper_evaluation_results.xlsx: Summary of evaluation metric results for all projects. Users are suggested to refer to the research paper for more detials. This project is still in an early stage of development, and we are improving the implementation and documentation. Please feel free to contact ******(author) for the replication package. Environment - java 11+ - neo4j 4.2 - memory 64G+ Quick Start:To begin our study, follow these steps. Note that only one project can be analyzed at a time. Step 1: Database Setup Copy the relevant database to the folder `data` (in the root path of the Neo4j database), copy the plugins to the plugin folder, and open the database using Neo4j 4.2 (Recommended). Step 2: Configure application-dev.yml Adjust the application-dev.yml file in the folder `imper_jar` to match your configuration. If you're using an existing database, simply configure the database address, username, and password. Step 3: Run imper-study.jar Command: `java -jar imper-study.jar -imp -config ./application-dev.yml -rd /home/user/code_rec -pj commons-io -fi commons-io_file(Map)_1031.txt -mi commons-io_functionInfo(Map).txt -tw 35 -mc 20 -od /home/user/code_rec`. -imp: Used to run IMPER -config: Path of `application-dev.yml`. -rd: Root path of code entiy genealogy, e.g., `/home/user/code_rec`. -pj: Project name, e.g., `commons-io`. -fi: the code entiy genealogy (file), e.g., `commons-io_file(Map)_1031.txt` (the absolute path is `/home/user/code_rec/commons-io/commons-io_file(Map)_1031.txt`). -mi: the code entiy genealogy (method), e.g., `commons-io_functionInfo(Map).txt` (the absolute path is `/home/user/code_rec/commons-io/commons-io_functionInfo(Map).txt`). -tw: Time window (half), e.g., -tw 35 (the time window size is 70). -mc: Maxium commit size in the time window. -od: Output root path for evaluation results (MAP, Precison, Recall and F1-score), e.g., `/home/user/code_rec`.

提供机构:
Zenodo
创建时间:
2024-05-07
二维码
社区交流群
二维码
科研交流群
商业服务