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.
翻译:软件开发中最大的开销之一是维护。因此,理解触发维护的因素以及是否可预测维护至关重要。大量研究表明,评估所创建程序复杂性的特定方法,可生成有用的预测模型,以确定因软件故障导致维护的可能性。这通常作为发布前的常规操作,而建立这些模型常常需要特定的面向对象软件度量。然而,软件开发者并非总能获取这些度量。本文中,机器学习被应用于可用数据以计算累积的软件故障等级。可研究利用机器学习预测软件残余缺陷的技术,作为解决残余缺陷预测难题的方案。软件度量和缺陷数据从静态源代码库中分离出来。静态代码用于创建软件度量,而存储库中报告的缺陷则用于收集缺陷信息。通过相关性分析,移除与缺陷数据无关的度量指标。这使得在不中断编程过程的情况下分析所有数据成为可能。大型复杂软件的主要问题在于,手动控制一切不可行,且错误的代价可能非常高昂。开发者测试时可能遗漏错误,从而导致维护成本增加。总体目标是找到一种准确预测软件缺陷的方法。