中文

面向软件工程的机器学习管道:系统文献综述

软件工程 2025-08-04 v1

摘要

软件开发实践的快速进步引入了在软件工程生命周期中确保质量和效率方面的挑战。随着SE系统复杂度的提升,传统方法往往难以扩展,导致调试时间延长、缺陷检测不效率低下以及资源密集型的开发周期。机器学习(ML)作为关键解决方案,使自动化任务(如缺陷预测、代码审查和发布质量估计)成为可能。然而,ML在SE中的有效性取决于其管道的稳健性,包括数据收集、预处理、特征工程、算法选择、验证和评估。本系统性文献综述(SLR)审查了为SE设计的先进ML管道,总结了最佳实践、挑战和空白。我们的发现表明,稳健的预处理(如SMOTE用于数据平衡和SZZ算法用于特征选择)可提高模型可靠性。像随机森林和梯度提升树这样的集成方法在各种任务中主导性能表现,而像朴素贝叶斯等简单模型仍因其效率和可解释性而具备价值。包括AUC、F1分数和精确率在内的评估指标最为常见,新的指标如最佳算术平均值(Best Arithmetic Mean, BAM)则在特定应用中涌现。如引导抽样等验证技术广泛用于确保模型稳定性和可推广性。该SLR突显了针对SE挑战构建完善ML管道的重要性,为寻求优化软件质量和效率的研究者和实践者提供了可操作性见解。通过识别空白和趋势,本研究为推动ML在日益复杂开发环境中的采用并 fostering创新奠定了基础。

关键词

引用

@article{arxiv.2508.00045,
  title  = {Machine Learning Pipeline for Software Engineering: A Systematic Literature Review},
  author = {Samah Kansab},
  journal= {arXiv preprint arXiv:2508.00045},
  year   = {2025}
}