代码表示学习技术对软件工程产生了深刻影响。借鉴自然语言处理的研究进展,将机器学习技术应用于代码大数据以从中提取编程知识。当前代码表示学习在支持软件工程任务中的能力到底如何?未来的智能化软件工程图景将会发生哪些变化?讲者以自身研究经历为背景,对代码表示学习方法的研究历程和发展状态进行简要概述,并对代码表示学习赋能智能化软件工程的影响进行探讨。
软件工程研究的目的是以工程化的方法,提高软件开发的效率和软件质量。随着大模型技术的飞速发展,大模型技术在一系列软件工程任务上表现卓越,显著超过了传统的软件工程方法。这一趋势引发了人们对大模型时代软件工程研究范式的焦虑与探索。本报告分析大模型技术对现有软件工程研究方法的影响以及由此导致的软件工程新范式,重点探讨新范式对特定大模型以及大模型技术的阶段性进展的过度依赖问题,探索更具一般化的研究方法。
本文探讨了一种基于大语言模型 (LLMs) 与传统建模协同的智能化软件构造新范式。该协同旨在弥补 LLMs 和传统建模各自的优劣势,推动智能化软件向更高精度、更强适应性和更大可靠性的方向发展。文章提出了两种协同方法:上下文理解与符号推理的结合,以及任务分配与合作模式。本文分别讨论了 Guardian 和 CodeR 方法,它们将 LLMs 与传统建模分别用于 UI 测试和软件开发问题单解决。研究结果表明,LLMs 与传统建模的协同具有重要的学术价值与应用前景,能够显著提升智能化软件在面对高精度和高可靠性要求任务时的表现。
本期专题围绕大模型时代的软件工程新机遇,介绍相关技术原理以及研究与实践进展,同时阐述各自观点。前四篇关注基于大模型的企业软件开发,特别是大模型带来的软件开发范式变革以及大模型对于复杂软件系统开发的支持;后两篇关注基于大模型的新型智能化软件的构造方法与运行支撑,特别是基于大模型的新型智能化应用开发技术及生态以及大模型运行状态监控与运维管理。
从NLP领域发展起来的大模型正在引领新一代人工智能的发展,并持续向更多的领域穿透其影响力。从软件研发的角度,大模型将带来哪些变化?本引导发言将结合华为在基于大模型的代码生成等软件研发领域开展的系列探索,分享软件研发大模型的进展,并对软件研发的未来及需要解决的关键问题进行展望。