h4iku / bug-localization

Source code of the paper "Leveraging textual properties of bug reports to localize relevant source files."

Home Page:https://www.sciencedirect.com/science/article/pii/S0306457318301092

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to Run

  1. Install Python 3.8+ and clone this repository:

    git clone https://github.com/h4iku/bug-localization.git
  2. Create a venv and install the dependencies:

    cd bug-localization
    python -m venv env
    ./env/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 and NLTK data. From NLTK, only punkt and averaged_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')
  3. 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.

  4. Check the path of datasets in buglocalizer/datasets.py module and change the value of the DATASET variable to choose different datasets (default values can be aspectj, swt, and zxing, 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.

About

Source code of the paper "Leveraging textual properties of bug reports to localize relevant source files."

https://www.sciencedirect.com/science/article/pii/S0306457318301092

License:MIT License


Languages

Language:Python 100.0%