[论文解读] Machine Learning for Software Engineering: A Tertiary Study
这项三级研究综合分析了83篇关于软件工程(SE)中机器学习(ML)的综述,分析了6,117项原始研究,以识别趋势、挑战和研究空白。研究发现,ML在软件质量和测试领域应用最广泛,而在以人为中心的SE领域则代表性不足。研究提出了一系列关键行动建议,包括改进数据管道、采用增量学习以及加强工业界合作,以推动ML在SE应用中的发展。
Machine learning (ML) techniques increase the effectiveness of software engineering (SE) lifecycle activities. We systematically collected, quality-assessed, summarized, and categorized 83 reviews in ML for SE published between 2009-2022, covering 6,117 primary studies. The SE areas most tackled with ML are software quality and testing, while human-centered areas appear more challenging for ML. We propose a number of ML for SE research challenges and actions including: conducting further empirical validation and industrial studies on ML; reconsidering deficient SE methods; documenting and automating data collection and pipeline processes; reexamining how industrial practitioners distribute their proprietary data; and implementing incremental ML approaches.
研究动机与目标
- 通过综合现有二次文献,系统性地、基于证据地概述当前机器学习(ML)在软件工程(SE)中应用的现状。
- 通过大规模综述综述,识别SE中被最频繁关注的领域、ML技术以及ML for SE的研究空白。
- 突出强调ML在SE研究中面临的数据质量差、缺乏工业相关性以及实证验证不足等挑战。
- 提出切实可行的研究与工业合作策略,以提升ML在SE中应用的稳健性、可扩展性和实际适用性。
- 明确区分ML for SE与相关领域SE for ML,确保研究范围和方向的清晰性。
提出的方法
- 系统性地收集并评估了2009年至2022年间发表的83篇关于SE中ML的二次综述,遵循PRISMA和三级研究指南。
- 基于SWEBOK知识领域(KAs)及其子领域对综述进行分类,以映射ML在SE生命周期中的应用。
- 采用基于学习类型、任务类型、模型类型和数据类型的四维ML分类体系,对综述中使用的ML技术进行分类。
- 通过作者间手动、迭代的编码与共识,从每篇综述中提取并分析SE任务、研究主题和ML技术。
- 通过评估研究中关于文档化、管道自动化和数据共享实践的情况,评估数据收集实践、模型泛化能力以及工业相关性。
- 基于研究发现,综合提出对研究人员和实践者的建议,包括实证验证、工业案例研究以及改进数据管理的必要性。
实验结果
研究问题
- RQ1根据二次综述,机器学习应用最常针对哪些软件工程知识领域和任务?
- RQ2在SE中占主导地位的机器学习技术类型(如监督学习、在线学习)有哪些?它们在采纳率和泛化能力方面如何比较?
- RQ3在SE中应用ML的工业采纳方面,主要障碍是什么,特别是数据质量、管道自动化和专有数据共享方面?
- RQ4SE方法和数据收集实践的缺陷如何影响ML模型在软件工程中应用的可靠性与可扩展性?
- RQ5哪些研究与合作策略可以弥合学术界ML研究与工业SE实践之间的差距?
主要发现
- 大多数ML for SE研究集中于软件质量和测试领域,而对以人为中心的领域(如软件需求和职业实践)关注显著不足,原因在于数据主观性和标注挑战。
- 监督学习和分类任务占主导地位,尽管增量学习在实时和动态系统中已被证明具有优势,但基于模型的学习仍更受青睐。
- 数据管道透明度存在严重缺口,许多研究缺乏对数据收集过程的文档记录,且未实现自动化,从而损害了可重现性和可扩展性。
- 由于缺乏专有数据共享,工业相关性受到阻碍,限制了模型在真实SE环境中的性能和泛化能力。
- 过时且不充分的SE方法阻碍了稳健ML模型的开发,凸显了对方法论重新评估的必要性,以及改进超参数调优和类别不平衡处理的需求。
- 混合、集成和增量ML技术代表了尚未充分探索但极具前景的研究方向,有望提升SE场景中模型的可靠性与适应性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。