Skip to main content
QUICK REVIEW

[论文解读] Deep Learning in Software Engineering

Xiaochen Li, He Jiang|arXiv (Cornell University)|May 13, 2018
Software Engineering Research参考文献 10被引用 25
一句话总结

本文对98篇整合深度学习的软件工程(SE)论文进行了书目分析,识别出在软件开发生命周期各个阶段中由深度学习增强的41项SE任务。研究发现,84.7%的研究使用标准深度学习模型,凸显了在实际应用中提升模型的有效性、效率、可理解性与可测试性的迫切需求。

ABSTRACT

Recent years, deep learning is increasingly prevalent in the field of Software Engineering (SE). However, many open issues still remain to be investigated. How do researchers integrate deep learning into SE problems? Which SE phases are facilitated by deep learning? Do practitioners benefit from deep learning? The answers help practitioners and researchers develop practical deep learning models for SE tasks. To answer these questions, we conduct a bibliography analysis on 98 research papers in SE that use deep learning techniques. We find that 41 SE tasks in all SE phases have been facilitated by deep learning integrated solutions. In which, 84.7% papers only use standard deep learning models and their variants to solve SE problems. The practicability becomes a concern in utilizing deep learning techniques. How to improve the effectiveness, efficiency, understandability, and testability of deep learning based solutions may attract more SE researchers in the future.

研究动机与目标

  • 理解深度学习如何被整合到软件开发生命周期各个阶段的软件工程任务中。
  • 识别出SE中哪些阶段和具体任务正受到深度学习技术的促进。
  • 评估从业者是否从现有的基于深度学习的SE解决方案中获益。
  • 评估当前深度学习方法在SE中的实用性,重点关注有效性、效率、可理解性与可测试性。
  • 通过识别开放性问题与改进深度学习在软件工程中采纳机会的研究方向,为未来研究提供指导。

提出的方法

  • 对98篇发表在软件工程领域、应用深度学习的同行评审研究论文进行了系统性书目分析。
  • 根据SE阶段(如需求、设计、测试、维护)及所解决的具体任务对论文进行分类。
  • 对所使用的深度学习模型进行分类,区分标准模型(如CNNs、RNNs)与定制化或混合架构。
  • 分析报告的结果与实现细节,以评估模型的适用性与实际挑战。
  • 评估研究中报告的模型可解释性、训练效率与可测试性程度。
  • 综合研究发现,以识别深度学习在SE中的趋势、差距与未来研究方向。

实验结果

研究问题

  • RQ1深度学习技术正在解决软件开发生命周期中的哪些阶段与任务?
  • RQ2SE研究中主要使用哪些类型的深度学习模型?它们在不同任务中的使用情况有何差异?
  • RQ3当前SE中的深度学习解决方案在多大程度上解决了效率、可理解性与可测试性等实际问题?
  • RQ4哪些关键挑战阻碍了深度学习模型在软件工程实践中的采纳?
  • RQ5未来研究如何提升基于深度学习的SE解决方案的实用性与可靠性?

主要发现

  • 深度学习已应用于软件开发生命周期所有阶段的41项不同软件工程任务。
  • 所分析论文中84.7%使用标准深度学习模型(如CNNs、RNNs、自编码器)及其变体,且未进行显著的架构修改。
  • 尽管使用广泛,深度学习在SE中的实用性仍受限,主要因对模型可解释性、训练效率与可测试性的担忧。
  • 当前研究中对模型可理解性与可测试性的重视程度明显不足,可能阻碍其在真实世界中的部署。
  • 大多数研究集中于模型性能,而对推理速度或资源使用等实际运行约束缺乏充分评估。
  • 未来研究应优先提升深度学习模型的有效性、效率、可理解性与可测试性,以增强其在工业级软件工程中的采纳。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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