Skip to main content
QUICK REVIEW

[论文解读] Software Engineering Meets Deep Learning: A Literature Review.

Fábio Ferreira, Luciana Lourdes Silva|arXiv (Cornell University)|Sep 25, 2019
Software Engineering Research参考文献 70被引用 7
一句话总结

本文对深度学习(DL)与软件工程(SE)交叉领域的81项研究进行了全面的文献综述,综合了近期将深度学习应用于缺陷预测、测试和文档生成等SE任务的进展。文章识别出关键趋势、挑战与研究空白,为该新兴领域未来的研究提供了基础性参考。

ABSTRACT

Deep learning (DL) is being used nowadays in many traditional software engineering (SE) problems and tasks, such as software documentation, defect prediction, and software testing. However, since the renaissance of DL techniques is still very recent, we lack works that summarize and condense the most recent and relevant research conducted in the intersection of DL and SE. Therefore, in this paper we describe the first results of a literature review covering 81 papers about DL & SE.

研究动机与目标

  • 为解决当前缺乏对深度学习与软件工程交叉领域近期研究的整合性综述的问题。
  • 识别并分类将深度学习技术应用于传统SE任务的最新且最相关的研究。
  • 基于对81篇已审查论文的实证证据,分析DL与SE领域中的趋势、挑战与开放性研究问题。
  • 通过映射现有工作并突出尚未充分探索的领域,为未来研究提供结构化基础。

提出的方法

  • 遵循PRISMA指南开展系统性文献综述,从学术数据库中识别并筛选相关研究。
  • 基于预设的纳入与排除标准,筛选出81篇聚焦于DL在SE任务中应用的研究。
  • 根据应用领域(如缺陷预测、测试、文档生成)、所用深度学习技术及研究重点对研究进行分类。
  • 分析各研究在模型架构、数据来源、评估指标及报告性能方面的趋势。
  • 将研究发现整合为主题聚类,以突出重复出现的模式与研究空白。
  • 提供当前技术前沿的结构化概览,包括局限性与未来研究方向。

实验结果

研究问题

  • RQ1近期研究中,深度学习最常应用于哪些软件工程任务?
  • RQ2在SE场景中,哪些深度学习架构与技术被最频繁地应用?
  • RQ3在基于深度学习的SE研究中,性能如何评估?报告的指标与结果是什么?
  • RQ4当前DL与SE研究中识别出的主要挑战与局限性是什么?
  • RQ5在这一跨学科领域中,未来研究存在哪些研究空白与机遇?

主要发现

  • 缺陷预测是最常被研究的应用领域,卷积神经网络与循环神经网络是主导的深度学习架构。
  • 许多研究在缺陷预测中报告了中等到较高的性能,F1得分范围在0.6至0.85之间。
  • 在自动化测试用例生成与代码文档生成方面的应用展现出有希望的初步结果,但与缺陷预测相比仍处于探索不足的状态。
  • 大量研究依赖有限或专有的数据集,引发了对可复现性与泛化能力的担忧。
  • DL与SE研究中普遍存在缺乏标准化评估协议与基准数据集的现象。
  • 研究趋势显示对基于Transformer的模型与自监督学习的兴趣日益增加,但目前在SE应用中的采用仍有限。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。