This project contains the code for gathering, processing, and analysing bug data of the Ansible configuration management system.
The data fetching is implemented using Perceval. The processing and serialization is done in Python, and analysis is done in Python as well.
- Set up Python3 on your system: https://docs.python.org/3/using/index.html
- Run
./setup.sh
Fetching data is split into two sections, depending on which data you require.
To fetch all issues from the Ansible Github project, run:
$ ./pullRawIssues.sh
This will produce a timestamped file in the raw/ folder for you to explore.
To fetch all pull requests from the Ansible Github project, run:
$ ./pullRawPRs.sh
To get all data, you can run this:
$ ./pullRawAll.sh
To pre-process the raw data to be readable by the analysis tools, use:
$ python3 processing/convertOutput.py raw/$RAW_FILENAME
This will produce an output JSON file in the same directory with the appendix -out.
To run analysis on the data, use these tools:
To create a summary from the pre-processed data, use:
$ python3 analysis/extractSummary.py raw/$PROCESSED_FILENAME
This will give an overview analysis of the bugs in the raw data.