Skip to Content

Leveraging Machine Learning to Improve Code Quality

Investigator

Olga Baysal

Baysal , Olga

Team

Ericsson partners

Thomas , Dimple

Research project

This project, titled “Leveraging machine learning to improve software quality”, aims at employing machine learning techniques to monitor and improve software quality. The goal of the project would be to mine various software repositories such as issue tracking, version control, test data, extract and integrate the data from these different repositories in order to evaluate the quality of software system. The quality of the system can be measure by several metrics including the number of existing software defects, the normal/abnormal behaviour of the system, test quality, test coverage, etc.

The project would first focus on studying historical data and trends of software defects with the goal of using these data to predict software quality, i.e., predict software defects prior to software release and identify defect-prone files. Additionally, we will explore the quality of tests considering test information, modules and coverage of the system’s code.

By analysing historical data from various repositories, we will be able to identify 1) the kind of defects that have a higher impact on the quality; 2) file-level changes/commits that are more likely to introduce defects. Then we can leverage these insights for building predictive models based on the historical trends. Predictive models would be evaluated and assessed based on their accuracy and performance in detecting defects and faults. We will also explore unsupervised machine learning methods for detecting anomaly and deviation from the baseline. Such models would be employing decision tress and neural networks. Machine learning approaches leveraged in this work would allow Ericsson to better monitor software quality of their systems, which would result in more effective and easier software maintenance. Risky changes (those that induce defects to the codebase) can be monitor and predicted, there more making risk management a more effective practice.