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)生命周期活动的有效性:我们系统地收集、质量评估、总结和分类了2009-2012年期间出版的SE最低审查清单中的83项审查,涵盖6,117项初级研究,其中涉及的最大的领域是软件质量和测试,而以人为中心的领域则对ML更具挑战性。 我们建议为SE研究的挑战和行动制定一些最低审查清单,其中包括:进一步开展关于ML的经验验证和工业研究;重新考虑SE方法的缺陷;记录数据收集和管道流程并使之自动化;重新研究工业从业人员如何分配其专利数据;以及采用渐进的 ML方法。