Skip to main content
QUICK REVIEW

[论文解读] The application of artificial intelligence in software engineering: a review challenging conventional wisdom

Feras A. Batarseh, Rasika Mohod|arXiv (Cornell University)|Aug 3, 2021
Software Engineering Research被引用 6
一句话总结

本文回顾了1975年至2017年间人工智能(AI)在软件工程(SE)生命周期中的整合,识别出150多个AI驱动的方法,涵盖需求、测试和维护等阶段。通过分析AI学科与SE阶段之间的重叠,挑战了传统认知,提出应对当前实践进行重新评估,并呼吁在AI-SE整合方面实现根本性创新。

ABSTRACT

The field of artificial intelligence (AI) is witnessing a recent upsurge in research, tools development, and deployment of applications. Multiple software companies are shifting their focus to developing intelligent systems; and many others are deploying AI paradigms to their existing processes. In parallel, the academic research community is injecting AI paradigms to provide solutions to traditional engineering problems. Similarly, AI has evidently been proved useful to software engineering (SE). When one observes the SE phases (requirements, design, development, testing, release, and maintenance), it becomes clear that multiple AI paradigms (such as neural networks, machine learning, knowledge-based systems, natural language processing) could be applied to improve the process and eliminate many of the major challenges that the SE field has been facing. This survey chapter is a review of the most commonplace methods of AI applied to SE. The review covers methods between years 1975-2017, for the requirements phase, 46 major AI-driven methods are found, 19 for design, 15 for development, 68 for testing, and 15 for release and maintenance. Furthermore, the purpose of this chapter is threefold; firstly, to answer the following questions: is there sufficient intelligence in the SE lifecycle? What does applying AI to SE entail? Secondly, to measure, formulize, and evaluate the overlap of SE phases and AI disciplines. Lastly, this chapter aims to provide serious questions to challenging the current conventional wisdom (i.e., status quo) of the state-of-the-art, craft a call for action, and to redefine the path forward.

研究动机与目标

  • 评估软件工程生命周期中是否已具备足够的智能以支持AI整合。
  • 衡量、形式化并评估AI学科与SE阶段之间的重叠程度。
  • 质疑AI-SE研究与实践中的既有假设,促使对当前发展轨迹进行重新评估。
  • 为重新定义人工智能在软件工程中的未来方向提供批判性基础。
  • 识别在需求、设计、开发、测试、发布和维护等阶段中AI驱动解决方案的差距与机遇。

提出的方法

  • 对1975年至2017年期间人工智能在软件工程中应用的系统性回顾,重点关注神经网络、机器学习、基于知识的系统和自然语言处理(NLP)等既定AI范式。
  • 按SE阶段对AI方法进行分类,并提供量化统计:需求阶段46项,设计阶段19项,开发阶段15项,测试阶段68项,发布与维护阶段15项。
  • 分析AI学科与SE生命周期阶段之间的概念与技术重叠,以评估整合的深度与一致性。
  • 采用结构化框架评估AI方法在解决传统SE挑战中的成熟度与适用性。
  • 对研究发现进行批判性综合,以质疑现状,并挑战当前AI-SE研究与工具中固有的假设。
  • 整合先前文献的见解,包括与早期工作的重叠(如arXiv:1611.09934),以 contextualize 研究发现。

实验结果

研究问题

  • RQ1软件工程生命周期中是否已嵌入足够的智能以证明AI应用的合理性?
  • RQ2人工智能在不同阶段的实际整合究竟意味着什么?
  • RQ3AI学科与软件工程阶段之间的重叠程度如何?这对工具开发与研究意味着什么?
  • RQ4当前AI-SE实践中所基于的假设是什么?在近期进展的背景下,这些假设是否仍然有效?
  • RQ5如何重新评估当前SE中AI的现状,以指导未来创新并避免停滞?

主要发现

  • 在SE生命周期中总共识别出150个AI驱动的方法,其中测试阶段最多(68项),其次是需求阶段(46项)和发布与维护阶段(15项)。
  • AI学科——尤其是机器学习和NLP——与SE阶段之间存在显著重叠,特别是在需求和测试阶段。
  • 研究发现,尽管AI应用广泛,但许多应用以零散或表面化的方式实施,缺乏与核心SE流程的深度整合。
  • 传统认知认为AI与SE天然契合的观点受到挑战,因为许多应用并非具有变革性,而只是渐进式改进。
  • AI在SE领域缺乏标准化框架或评估指标,导致研究与工具开发不一致。
  • 本文呼吁实现范式转变,推动更加整体化、理论驱动且深度整合的AI-SE系统,而非在现有工具中孤立地添加AI功能。

更好的研究,从现在开始

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

无需绑定信用卡

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