Implementation of 'DeepTriage: Exploring the Effectiveness of Deep Learning for Bug Triaging'
preprocess.py
includes text cleaning and tokenization parts.dataset.py
includes dataset reading and slicing methods for chronological cross validation.dbrnna.py
is the model implementation in Keras.main.py
includes example method calls.
- You need a Python version of 3.6.x or later.
- Install required packages (Using a virtual environment is recommended).
pip install -r requirements.txt
- Clone the repository.
git clone https://github.com/hacetin/deep-triage.git
- Download datasets into the repository as following:
- Download
deep_data.json
from here andclassifier_data_0.json
,classifier_data_5.json
,classifier_data_10.json
,classifier_data_20.json
from here, then put them into data/google_chromium folder. - Download
deep_data.json
from here andclassifier_data_0.json
,classifier_data_5.json
,classifier_data_10.json
,classifier_data_20.json
from here, then put them into data/mozilla_core folder. - Download
deep_data.json
from here andclassifier_data_0.json
,classifier_data_5.json
,classifier_data_10.json
,classifier_data_20.json
from here, then put them into data/mozilla_firefox folder.
- Download
- Run
main.py
.cd deep-triage python main.py
Any contribution (pull request etc.) is welcome.
Here are the links for the datasets:
- Google Chromium - 383,104 bug reports
- Mozilla Core - 314,388 bug reports
- Mozilla Firefox - 162,307 bug reports
A sample bug report from datasets is given below:
{
"id" : 1,
"issue_id" : 2,
"issue_title" : "Testing if chromium id works",
"reported_time" : "2008-08-30 16:00:21",
"owner" : "",
"description" : "\nWhat steps will reproduce the problem?\n1.\n2.\n3.\n\r\nWhat is the expected output? What do you see instead?\n\r\n\r\nPlease use labels and text to provide additional information.\n \n ",
"status" : "Invalid",
"type" : "Bug"
}
{
"id" : 1,
"issue_id" : 91,
"issue_title" : "document properties cannot be listed",
"reported_time" : "1998-04-07 23:05:23",
"owner" : "rickg@formerly-netscape.com.tld",
"description" : "Created by Till Krech (till@berlin.snafu.de) on Tuesday, April 7, 1998 9:05:23 AM PDT\nAdditional Details :\nthe JavaScript \"for in\" statement does not work on the\ndocument object. At least not in the Linux version.",
"status" : "VERIFIED",
"resolution" : "FIXED"
}