# Applying Machine Learning Analysis for Software Quality Test

**Authors:** Al Khan, Remudin Reshid Mekuria, Ruslan Isaev  
**arXiv:** [2305.09695](https://arxiv.org/abs/2305.09695)  
**Date:** 2023-05-16  
**Summary page:** https://www.summarizepaper.com/en/paper/2305.09695v1/

## Key points

- Maintenance is a significant expense in software development
- Understanding the factors that trigger maintenance is crucial
- Certain methods for assessing software complexity can be used to develop prediction models for maintenance due to failures
- These models require specific measurements related to object-oriented software, which may not always be feasible for developers to have access to
- The paper proposes using machine learning techniques on available data to calculate cumulative levels of software failure
- The objective is to develop a technique that can forecast residual defects in software using machine learning
- Data for analysis is gathered from a static source code repository, with metrics derived from static code analysis and defect data from reported bugs
- Metrics without any connection to defect data are eliminated through correlation analysis
- Large and complex software systems are difficult to manually control, leading to potentially expensive errors
- Finding an accurate method for forecasting software defects is important

## Summary

In the field of software development, maintenance is one of the most significant expenses. Therefore, it is crucial to understand the factors that trigger maintenance and explore if they can be predicted. Previous research has shown that certain methods for assessing the complexity of software programs can be used to develop prediction models for determining the likelihood of maintenance due to software failures. These models are typically established before the release of a software product and often require specific measurements related to object-oriented software. However, it is not always feasible for software developers to have access to these measurements. In this paper titled "Applying Machine Learning Analysis for Software Quality Test," authors Al Khan, Remudin Reshid Mekuria, and Ruslan Isaev propose using machine learning techniques on available data to calculate cumulative levels of software failure. The objective is to develop a technique that can forecast residual defects in software using machine learning, addressing the challenge of predicting such flaws. To gather data for analysis, the authors separate software metrics and defect information from a static source code repository. Software metrics are derived from static code analysis, while reported bugs in the repository provide defect data. By employing a correlation method, metrics that do not have any connection with defect data are eliminated from consideration. This approach allows for comprehensive analysis without interrupting ongoing programming processes. The primary issue faced with large and complex software systems is their inability to be manually controlled entirely, leading to potentially expensive errors. During testing phases, developers may overlook certain errors which subsequently increases maintenance costs. Hence finding an accurate method for forecasting software defects becomes paramount. Overall this paper explores how machine learning can be applied in analyzing available data to predict residual defects in software systems accurately.
