Skip to content
/ ATTIC Public

AuTomaTic Issue Classifier (ATTIC). ATTIC is multi-layer perceptron model implemented with Scikit-Learn and designed to classify automatically issues as "Bug" or "Non-bug".

License

Notifications You must be signed in to change notification settings

qperez/ATTIC

Repository files navigation

ATTIC

AuTomaTic Issue Classifier (ATTIC)

Authors:

  • Quentin Perez
  • Pierre-Antoine Jean (Github :octocat:)

Co-authors

  • Christelle Urtado
  • Sylvain Vauttier

Demonstrator

Writing assistant for bug ticket based on ATTIC model is available here.

Description

This repository contains source code about experiments about binary bug tickets classifiers. It is structured in 5 directories 📁 .

root
|
├─ requirements.txt
├─ LICENSE
├─ README.md
├─ genetic_algorithm 
├─ classifier_selection 
├─ multilayer_perceptron_settings
├─ data

genetic_algorithm

Directory containing sources implementing genetic algorithm to optimize hyper-parameters (features number and hidden_layer_size for the MLP)

classifier_selection

Contains a Jupyter notebook to reproduce results used to compare 6 classifiers (MLP, SVM, SGD, RR, RF, KNN).

multilayer_perceptron_settings

Contains a Jupyter notebook implementing 5 different settings with TF-IDF and MLP.

data

Json files containing the dataset of 5,591 tickets used in experiments. Dataset 📜 is split into 7 files to avoid the anonymisation limitation of 1MB performed by anonymous.4open.science The dataset coming from the conference paper: "It’s not a bug, it’s a feature: how misclassification impacts bug prediction" by Herzig, Kim and Just, Sascha and Zeller, Andreas.)

How to use ? 💻

Requirements

  • Python 3
  • Package Installer for Python (pip)

You can install Python required libraries using the following command:

$ pip install -r requirements.txt

genetic_algorithm

Genetic algorithm parameters are set in a configuration Python file named "genetic_algo_params.py" at the directory root.

A python main name "genetic_main.py" is runnable with the following command:

$ python3 genetic_main.py

To run it in background with logging:

$ nohup python3 genetic_main.py > genetic_algo.log &

classifier_selection

To run the Jupyter notebook please run this command:

$ jupyter notebook baseline_notebook.ipynb

multilayer_perceptron_settings

To run the Jupyter notebook please run this command:

$ jupyter notebook mlp_settings.ipynb

About

AuTomaTic Issue Classifier (ATTIC). ATTIC is multi-layer perceptron model implemented with Scikit-Learn and designed to classify automatically issues as "Bug" or "Non-bug".

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published