摘要:为了解决当前软件重构领域深度学习模型预测性能研究的不足,提出了一种基于深度学习的软件重构预测评估方法,以评估深度学习模型的重构预测性能。首先,采用静态分析工具从303个Java项目中收集重构和非重构标签实例,针对提取类、提取子类、提取超类、提取接口、移动类、重命名类、移动和重命名类7种重构操作构建了7个由源代码度量组成的数据集;其次,搭建卷积神经网络模型、长短期记忆网络模型、门控循环单元模型、多层感知机、自编码器在数据集上进行训练和测试;最后,根据每个模型的准确率、查准率、查全率和F1值对模型进行评估。结果表明,5种深度学习模型预测重构的准确率、查准率、查全率和F1值的平均值均在93%以上,预测提取子类的准确率最高,卷积神经网络模型预测重构的平均准确率高于其他模型。研究结果显示深度学习模型能够有效地预测重构,模型预测提取子类重构最准确,卷积神经网络模型是预测最准确的模型,为未来使用深度学习模型辅助建模重构推荐问题提供了参考依据。
文章目录
1 重构预测评估方法
2 实验数据与评估标准
2.1 数据的收集
2.2 数据预处理
2.3 评估指标
3 模型训练与参数设置
4 实验结果与分析
4.1 深度学习模型的重构预测性能
4.2 深度学习模型与机器学习模型的重构预测性能对比
4.3 SMOTE技术对深度学习模型重构预测性能的提升效果
4.4 方差选择技术对深度学习模型重构预测性能的提升效果
5 结 语