-
Install Python 3.10 and clone this repository:
git clone https://github.com/h4iku/bug-localization.git
-
Create a venv and install the dependencies:
cd bug-localization python -m venv .venv .venv/Scripts/activate python -m pip install -U pip setuptools pip install -r requirements.txt
Also, download and install the spaCy's
en_core_web_lg
pretrained model (You can download itswhl
file directly from GitHub releases) and NLTK data. From NLTK, onlypunkt
andaveraged_perceptron_tagger
are needed that can be downloaded using NLTK Downloader GUI or a Python interpreter:>>> import nltk >>> nltk.download('punkt') >>> nltk.download('averaged_perceptron_tagger')
-
Download the datasets file from here, and unzip it in the root directory of the cloned repository. You can also download these datasets from the BugLocator and BRTracer repositories. More datasets can be downloaded from the Bench4BL repository.
-
Check the path of datasets in
buglocalizer/datasets.py
module and change the value of theDATASET
variable to choose different datasets (default values can beaspectj
,swt
, andzxing
, but you can add more).Run the main module:
python buglocalizer/main.py
All the modules are also independently runnable if it was needed to run them one by one.
h4iku/bug-localization
Source code of the paper "Leveraging textual properties of bug reports to localize relevant source files."
PythonMIT