强化学习(Reinforcement Learning, RL)已成为处理序列决策问题的一种强大范式,自2015年深度强化学习(Deep Reinforcement Learning, DRL)兴起以来,在多个领域引起了广泛关注。与此同时,大型语言模型(Large Language Models, LLMs)的快速发展进一步激发了将RL与LLMs相结合的研究热潮,从而构建更具适应性和智能化的系统。在软件工程(Software Engineering, SE)领域,系统日益复杂以及自动化需求的不断增长,促使研究者将RL应用于包括软件设计、开发、质量保障和维护在内的各类任务中。尽管“用于软件工程的强化学习”(RL-for-SE)研究不断增长,但该领域仍缺乏一项全面系统的综述。为弥补这一空白,我们回顾了自DRL提出以来发表于22个顶级软件工程会议和期刊上的115篇经同行评审的研究论文。我们对发表趋势进行了系统分析,对软件工程任务和RL算法进行了分类,并探讨了数据集使用、模型设计与优化、评估方法等关键因素。此外,我们识别了当前面临的主要挑战,并提出了未来的研究方向,以指导并激励该领域的持续探索。总而言之,本综述提供了首个关于RL在软件工程中应用的系统性映射,旨在帮助研究者与实践者更好地理解当前研究格局,并推动该领域的发展。我们的相关资源已公开发布:https://github.com/KaiWei-Lin-lanina/RL4SE

1 引言

强化学习(Reinforcement Learning, RL)是机器学习中的一个核心范式,智能体通过与环境状态的交互学习做出决策,目标是在长期内最大化累积奖励。RL 的概念源自行为心理学,并在20世纪80至90年代通过 Sutton 和 Barto 等人的奠基性工作【119, 121, 122】在计算机科学领域正式建立起来。随着时间推移,RL 发展成为一种在不确定环境中进行序列决策的严格框架,其学习问题通常可建模为马尔可夫决策过程(Markov Decision Processes, MDPs)【97】。 2015年,DeepMind 将强化学习与深度神经网络相结合,训练出一个能够以超人水平玩 Atari 游戏的智能体,这一突破促成了深度强化学习(Deep Reinforcement Learning, DRL)的诞生【130】。这一里程碑事件,由深度 Q 网络(Deep Q-Network, DQN)推广开来,展示了将深度学习的特征提取能力与强化学习的决策能力相结合的强大潜力。自那以来,RL 在机器人学、自动驾驶、计算机视觉、推荐系统以及自然语言处理(NLP)等复杂领域获得了广泛关注与应用。 近年来,大型语言模型(Large Language Models, LLMs)如 ChatGPT 与 LLaMA 的迅速发展与广泛应用,极大地改变了人工智能的研究格局。研究者也日益关注将 RL 与 LLMs 相结合,以提升其适应性与决策能力,代表性成果如 DeepSeek-R1【46】,已展现出卓越性能。 在RL在多个领域取得成功应用的背景下,伴随着现代软件系统日益复杂和对智能自动化日益增长的需求,研究者与从业者也开始探索将RL用于解决软件工程(Software Engineering, SE)中的多种挑战。RL 为软件生命周期中的多个环节提供了一种构建自适应、数据驱动解决方案的有前景的范式,涵盖了软件设计与建模、质量保障、开发、维护以及项目管理等方面。 例如,在软件设计与建模领域,RL 被应用于资源分配【66】、混合优化【65】以及自动化软件建模【49】等任务;在软件开发阶段,RL 算法被用于代码生成【40】、代码补全【137】、代码摘要生成【135】以及注释生成【54】等任务;为保证软件质量,RL 方法已被用于软件测试中的测试用例生成【11, 42, 62】与优化【98, 117】、缺陷定位【18】、模型验证【77, 133】等;在软件维护方面,研究者也探索了 RL 在自动代码审查【57】、软件重构支持【3】、自动程序修复【47, 51】以及缺陷复现【156】等方面的应用。 值得注意的是,近期研究已开始尝试将 RL 与 LLMs 结合以解决特定软件工程任务。例如,Li 等人【72】提出了一种基于深度强化学习的代码补全微调框架,该框架通过奖励信号检测由持续编辑引起的上下文动态变化,从而使微调后的语言模型能够更好地捕捉并适应不断演变的代码上下文。Eom 等人【35】则提出了一种新颖的模糊测试技术 CovRL,利用 TF-IDF 方法构建加权覆盖图,将覆盖反馈整合到 LLMs 中,并通过 RL 引导基于LLM的变异器生成更有效的测试输入。 尽管越来越多的软件工程研究开始采用强化学习(为简洁起见称为 RL-for-SE),但目前仍缺乏一项全面且及时的综述系统性地审视 RL 在不同软件工程任务中的应用。我们的比较分析(详见第3节)显示,已有的综述多聚焦于通用的机器学习或深度学习算法,或仅限于软件工程的某些子领域(如软件测试),未能充分体现强化学习本身的特点及其在更广泛SE场景中的应用。因此,亟需一项系统性的综述来梳理当前趋势、识别研究挑战并指导未来发展方向。 为弥补这一空白,我们收集、审阅并分析了自2015年深度强化学习提出以来,发表于22个顶级软件工程会议与期刊(包含12个会议与10个期刊)的115篇RL-for-SE研究文献。我们分析了RL在软件工程领域的发展趋势,提炼了关键研究主题,对不同SE任务中所使用的RL算法进行了分类,研究了相关论文中RL系统的构建过程,并总结了当前面临的主要挑战及未来的研究机遇。 本文主要贡献如下: * (I) 我们首次提供了一项覆盖广泛软件工程领域的全面文献综述,涵盖115篇聚焦于利用RL方法解决软件工程问题的研究。我们对所选文献进行了详细分析,包括发表趋势、会议期刊分布等维度。 * (II) 我们系统性地对RL-for-SE的研究主题进行了分类,并依据六大SE活动对各篇文献进行了描述。同时,我们也根据任务类型(如回归、分类、排序与生成)对研究进行了细致分析。 * (III) 我们对各类RL算法在不同SE任务中的应用进行了细粒度分类,概述了不同RL类别在SE领域中的使用方式与发展趋势。 * (IV) 我们深入分析了影响深度学习模型在SE中表现的关键因素,包括数据集、模型设计与优化、以及模型评估方法。 * (V) 我们总结了RL在软件工程中面临的核心挑战,并提出了若干未来可行的研究方向,为RL-for-SE的持续发展提供参考。

论文结构:第2节介绍RL相关的背景知识和核心概念;第3节对现有相关工作进行了比较分析,以突出本文综述的新颖性与独特贡献;第4节详细阐述了研究方法,包括研究问题的提出及文献收集与筛选流程;第5至第9节围绕研究问题进行深入分析与讨论;第10节讨论了本研究可能面临的有效性威胁;第11节总结全文内容并作出结论。

成为VIP会员查看完整内容
0

相关内容

软件工程 (Software Engineering) 是一门研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
多模态检索增强生成的综合综述
专知会员服务
41+阅读 · 2月17日
关于用于算法设计的大型语言模型的系统性综述
专知会员服务
40+阅读 · 2024年10月26日
面向强化学习的可解释性研究综述
专知会员服务
43+阅读 · 2024年7月30日
大语言模型的终身学习综述
专知会员服务
72+阅读 · 2024年6月15日
《大型语言模型持续学习》综述
专知会员服务
90+阅读 · 2024年4月26日
大模型时代的自动图表理解综述
专知会员服务
69+阅读 · 2024年3月19日
以数据为中心的图学习综述
专知会员服务
42+阅读 · 2024年2月2日
《以数据为中心的图学习》综述
专知会员服务
53+阅读 · 2023年10月11日
计算机视觉中的终身学习综述
专知会员服务
67+阅读 · 2023年7月13日
基于模型的强化学习综述
专知
41+阅读 · 2022年7月13日
综述| 当图神经网络遇上强化学习
图与推荐
34+阅读 · 2022年7月1日
【KDD2020】图神经网络:基础与应用,322页ppt
多模态深度学习综述,18页pdf
专知
50+阅读 · 2020年3月29日
深度学习与医学图像分析
人工智能前沿讲习班
40+阅读 · 2019年6月8日
基于逆强化学习的示教学习方法综述
计算机研究与发展
16+阅读 · 2019年2月25日
深度学习与计算机视觉任务应用综述
深度学习与NLP
50+阅读 · 2018年12月18日
国家自然科学基金
41+阅读 · 2015年12月31日
国家自然科学基金
13+阅读 · 2015年12月31日
国家自然科学基金
17+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
28+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
16+阅读 · 2013年12月31日
国家自然科学基金
11+阅读 · 2012年12月31日
Arxiv
171+阅读 · 2023年4月20日
A Survey of Large Language Models
Arxiv
472+阅读 · 2023年3月31日
Arxiv
24+阅读 · 2023年3月17日
Arxiv
69+阅读 · 2022年9月7日
Arxiv
18+阅读 · 2021年3月16日
Arxiv
10+阅读 · 2020年11月26日
VIP会员
相关VIP内容
多模态检索增强生成的综合综述
专知会员服务
41+阅读 · 2月17日
关于用于算法设计的大型语言模型的系统性综述
专知会员服务
40+阅读 · 2024年10月26日
面向强化学习的可解释性研究综述
专知会员服务
43+阅读 · 2024年7月30日
大语言模型的终身学习综述
专知会员服务
72+阅读 · 2024年6月15日
《大型语言模型持续学习》综述
专知会员服务
90+阅读 · 2024年4月26日
大模型时代的自动图表理解综述
专知会员服务
69+阅读 · 2024年3月19日
以数据为中心的图学习综述
专知会员服务
42+阅读 · 2024年2月2日
《以数据为中心的图学习》综述
专知会员服务
53+阅读 · 2023年10月11日
计算机视觉中的终身学习综述
专知会员服务
67+阅读 · 2023年7月13日
相关资讯
基于模型的强化学习综述
专知
41+阅读 · 2022年7月13日
综述| 当图神经网络遇上强化学习
图与推荐
34+阅读 · 2022年7月1日
【KDD2020】图神经网络:基础与应用,322页ppt
多模态深度学习综述,18页pdf
专知
50+阅读 · 2020年3月29日
深度学习与医学图像分析
人工智能前沿讲习班
40+阅读 · 2019年6月8日
基于逆强化学习的示教学习方法综述
计算机研究与发展
16+阅读 · 2019年2月25日
深度学习与计算机视觉任务应用综述
深度学习与NLP
50+阅读 · 2018年12月18日
相关基金
国家自然科学基金
41+阅读 · 2015年12月31日
国家自然科学基金
13+阅读 · 2015年12月31日
国家自然科学基金
17+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2015年12月31日
国家自然科学基金
28+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
16+阅读 · 2013年12月31日
国家自然科学基金
11+阅读 · 2012年12月31日
相关论文
Arxiv
171+阅读 · 2023年4月20日
A Survey of Large Language Models
Arxiv
472+阅读 · 2023年3月31日
Arxiv
24+阅读 · 2023年3月17日
Arxiv
69+阅读 · 2022年9月7日
Arxiv
18+阅读 · 2021年3月16日
Arxiv
10+阅读 · 2020年11月26日
微信扫码咨询专知VIP会员