Skip to content

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

License

Notifications You must be signed in to change notification settings

h4iku/bug-localization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How to Run

  1. Install Python 3.10 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 .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 its whl file directly from GitHub releases) 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.