[论文解读] A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems
本研究评估了21个源代码度量和11种特征选择技术,使用18种分类器和3种集成方法预测面向对象系统中的变更易感性。采用所提出的特征选择框架(PFST)筛选度量的LSSVM-RBF模型在准确率方面表现最佳,优于其他分类器和特征选择方法。
Change-prone classes or modules are defined as software components in the source code which are likely to change in the future. Change-proneness prediction is useful to the maintenance team as they can optimize and focus their testing resources on the modules which have a higher likelihood of change. Change-proneness prediction model can be built by using source code metrics as predictors or features within a machine learning classification framework. In this paper, twenty one source code metrics are computed to develop a statistical model for predicting change-proneness modules. Since the performance of the change-proneness model depends on the source code metrics, they are used as independent variables or predictors for the change-proneness model. Eleven different feature selection techniques (including the usage of all the $21$ proposed source code metrics described in the paper) are used to remove irrelevant features and select the best set of features. The effectiveness of the set of source code metrics are evaluated using eighteen different classiffication techniques and three ensemble techniques. Experimental results demonstrate that the model based on selected set of source code metrics after applying feature selection techniques achieves better results as compared to the model using all source code metrics as predictors. Our experimental results reveal that the predictive model developed using LSSVM-RBF yields better result as compared to other classification techniques
研究动机与目标
- 调查21个源代码度量在预测面向对象软件中类变更易感性方面的有效性。
- 评估11种特征选择技术对提升预测模型性能的影响。
- 比较18种机器学习分类器和3种集成方法在预测易变更类方面的性能。
- 识别出在度量、特征选择和分类技术组合上实现准确变更易感性预测的最优方案。
- 提供一个可复现的框架,利用开源数据集和成熟工具进行变更易感性预测。
提出的方法
- 使用Understand工具对Eclipse 2.0和2.1插件计算21个面向对象软件度量(如圈复杂度、耦合度、继承深度)。
- 利用Jar Compare工具识别不同版本间的变更类,将训练数据标记为易变更或不易变更。
- 应用11种特征选择技术(包括过滤法、包装法和嵌入法)以减少无关度量并选择最优子集。
- 在选定的度量子集上训练18种独立分类器(如SVM、随机森林、RBFN)和3种集成方法(如NDTF、装袋法、提升法)。
- 使用Wilcoxon符号秩检验和平均差异分析对不同技术下的模型性能进行统计比较。
- 使用标准分类指标(如准确率、F1值和误分类误差)评估模型性能。
实验结果
研究问题
- RQ1在不同Eclipse插件中,哪些源代码度量与类变更易感性显著相关?
- RQ2与使用全部21个度量相比,通过特征选择技术筛选出的度量子集是否能提高变更易感性预测的准确率?
- RQ3在特征选择后,哪种机器学习分类器在预测变更易感性方面表现最佳?
- RQ4不同特征选择技术在提升模型性能方面的表现如何比较?
- RQ5集成方法与独立分类器在预测变更易感性方面表现如何比较?
主要发现
- LSSVM-RBF分类器在所有测试的18种独立分类器中准确率最高,误分类误差最低。
- 所提出的特征选择框架(PFST)在性能指标的平均差异方面始终优于其他特征选择技术。
- 非线性集成决策树森林(NDTF)集成方法优于所有其他集成方法,在整体性能上仅次于LSSVM-RBF。
- 通过PFST筛选出的小型源代码度量子集,其预测准确率高于使用全部21个度量的模型。
- 特征选择技术的性能显著依赖于所选分类器,表明特征选择与学习算法之间存在强烈的交互效应。
- 统计分析证实,模型性能差异具有显著性,其中基于LSSVM-RBF和PFST的模型在所有数据集上均表现出最稳健的结果。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。