# JITLine **Repository Path**: ecust-dp/jitline ## Basic Information - **Project Name**: JITLine - **Description**: Code replication for JIT-DP and DL experiments in the MSR 2021 paper: JITLine: A Simpler, Better, Faster, Finer-grained Just-In-Time Defect Prediction - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-04 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JITLine #### 1. Project Description Code replication for JIT-DP and DL experiments in the MSR 2021 paper: JITLine: A Simpler, Better, Faster, Finer-grained Just-In-Time Defect Prediction #### 2. System Environment **P40-1**_高性能计算平台应用名称:gym CPU:10 核 RAM:100 GB GPU:NVIDIA Tesla P40 24G OS:Ubuntu 18.04 #### 3. Environment Settings ```git clone https://gitee.com/ecust-dp/jitline``` ```cd jitline/JITLine``` ```conda create --name JITLine python=3.9.1``` ```conda activate JITLine``` ```pip install -r requirements.txt``` **Note:** The Pro edition of PyCharm is needed for running Jupyter Notebook #### 4. Data Preparation Manually download **JITDefectPrediction.tar.gz** from 高性能计算平台(Path: ~/ECUST-SE/DL/JITLine/), upload it to the **JITLine/** folder and extract the **data** folder containing **openstack_train/test/dict.pkl and qt_train/test/dict.pkl** via ```tar -zxvf data.tar.gz``` **Note:** These data files are obtained from the **data+model/data/jit/** folder in the [Zenodo-data](https://zenodo.org/record/3965149#.X2VeP5MzY1J) shared in the [GitHub-CC2Vec](https://github.com/CC2Vec/CC2Vec) Table 2: The statistics of OpenStack and Qt. | Project | # Commits | % Defective | # Unique Tokens | Avg. Commit Size | Avg. Defective Lines | |-----------|-----------|-------------|-----------------|------------------|----------------------| | OpenStack | 12,374 | 13% | 32K | 73 LOC | 53% | | Qt | 25,150 | 8% | 81K | 140 LOC | 51% | #### 5. Run JITLine **RQ1-3** Follow the steps in **JITLine_RQ1-RQ3.ipynb** **RQ4** Follow the steps in **JITLine_RQ4.ipynb** #### 6. Replication Results **(RQ1) The evaluation result of our JITLine approach compared with the state-of-the-art approaches for Just-In-Time defect prediction.** ![img.png](RQ1.png) **(RQ2) The cost-effectiveness of our JITLine approach compared to the state-of-the-art approaches for Just-In-Time defect prediction with respect to PCI@20%Recall, Effort@20%Recall, and POpt.** ![img.png](RQ2.png) **(RQ3) The average CPU and GPU computational time (minutes±95% Confidence Interval) of the model train ing of JIT defect prediction approaches after repeating the experiment 5 times.** ![img.png](RQ3.png) **(RQ4) The results of our JITLine at the line level when compared to the N-gram-based line-level JIT defect prediction approach of Yan et al. with respect to Top-10 Accuracy(↗), Recall@20%Effort(↗), Effort@20%Recall(↘), and IFA(↘). The higher (↗)or the lower (↘) the values are, the better the approach is.** ![img.png](RQ4_Paper.png) ![img.png](RQ4_P40-1.png) ![img.png](RQ4.png)