This is the official repository for paper "Learning Project-wise Subsequent Code Edits via Interleaving Neural-based Induction and Tool-based Deduction" by Chenyan Liu, Yun Lin, Yuhuan Huang, Jiaxin Chang, Binhang Qi, Bo Jiang, Zhiyong Huang, and Jin Song Dong. Presented at ASE'25.
This repository contains source code, dataset, and trained model parameters of TRACE.
Note
- Please click the image to watch the introduction video on YouTube;
- To deploy this extension, please refer to TRACE-extension, with detailed instructions.
Note
More detailed READMEs and model downloading scripts are available in each sub-directory
dataset_collection/: Crawl top-starred repositories' commit from GitHubRQ1_locator/: The training and evaluation script for edit locatorRQ2_generator/: The training and evaluation script for edit generator.RQ4_invoker/: The training and evaluation script for edit-composition invoker.RQ5_simulation/: The evaluation script to simulation real-world editing process.download_dataset.sh: A script to download the TRACE dataset from HuggingFace.download_treesitter.sh: A script to download tree-sitter repositories and checkout to compatiable versions.
-
Install dependencies:
conda create -n trace python=3.10.13 conda activate trace python -m pip install -r requirements.txt
-
Download tree-sitter:
bash download_treesitter.sh
-
Download the dataset:
bash download_dataset.sh
-
Set environment variables in
.envAcquire GitHub token please refer to Creating a personal access token
If you find our work helpful, please consider citing our paper:
TBD