  One of the biggest expense in software development is the maintenance.
Therefore, it is critical to comprehend what triggers maintenance and if it may
be predicted. Numerous research have demonstrated that specific methods of
assessing the complexity of created programs may produce useful prediction
models to ascertain the possibility of maintenance due to software failures. As
a routine it is performed prior to the release, and setting up the models
frequently calls for certain, object-oriented software measurements. It is not
always the case that software developers have access to these measurements. In
this paper, the machine learning is applied on the available data to calculate
the cumulative software failure levels. A technique to forecast a software`s
residual defectiveness using machine learning can be looked into as a solution
to the challenge of predicting residual flaws. Software metrics and defect data
were separated out of the static source code repository. Static code is used to
create software metrics, and reported bugs in the repository are used to gather
defect information. By using a correlation method, metrics that had no
connection to the defect data were removed. This makes it possible to analyze
all the data without pausing the programming process. Large, sophisticated
software`s primary issue is that it is impossible to control everything
manually, and the cost of an error can be quite expensive. Developers may miss
errors during testing as a consequence, which will raise maintenance costs.
Finding a method to accurately forecast software defects is the overall
objective.
