With the rapid development and large-scale popularity of program software, modern society increasingly relies on software systems. However, the problems exposed by software have also come to the fore. Software defect has become an important factor troubling developers. In this context, Automated Program Repair (APR) techniques have emerged, aiming to automatically fix software defect problems and reduce manual debugging work. In particular, benefiting from the advances in deep learning, numerous learning-based APR techniques have emerged in recent years, which also bring new opportunities for APR research. To give researchers a quick overview of APR techniques' complete development and future opportunities, we revisit the evolution of APR techniques and discuss in depth the latest advances in APR research. In this paper, the development of APR techniques is introduced in terms of four different patch generation schemes: search-based, constraint-based, template-based, and learning-based. Moreover, we propose a uniform set of criteria to review and compare each APR tool, summarize the advantages and disadvantages of APR techniques, and discuss the current state of APR development. Furthermore, we introduce the research on the related technical areas of APR that have also provided a strong motivation to advance APR development. Finally, we analyze current challenges and future directions, especially highlighting the critical opportunities that large language models bring to APR research.


翻译:随着程序软件的快速发展和大规模普及,现代社会越来越依赖软件系统。然而,软件所暴露的问题也开始显现。软件缺陷已成为困扰开发人员的重要因素。在这种背景下,自动程序修复(Automated Program Repair,APR)技术应运而生,旨在自动解决软件缺陷问题,减少手动调试工作。特别是由于深度学习领域的进展,近年来出现了许多基于学习的APR技术,这也为APR的研究带来了新机遇。为了给研究人员提供关于APR技术全面发展和未来机遇的快速概述,我们回顾了APR技术的演变,深入讨论了APR研究的最新进展。在本文中,通过四种不同的补丁生成方案来介绍APR技术的发展:基于搜索的,基于约束的,基于模板的和基于学习的。此外,我们提出了一个统一的标准来审查和比较每个APR工具,总结了APR技术的优点和缺点,并讨论了当前的APR发展状况。此外,我们介绍了与APR相关技术领域的研究,这也为促进APR的发展提供了强大的动力。最后,我们分析了当前的挑战和未来方向,特别是突出了大型语言模型为APR研究带来的重要机遇。

0
下载
关闭预览

相关内容

专知会员服务
12+阅读 · 2021年9月21日
专知会员服务
15+阅读 · 2021年1月23日
【KDD2020-Tutorial】自动推荐系统,Automated Recommendation System
强化学习最新教程,17页pdf
专知会员服务
169+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
Multi-Task Learning的几篇综述文章
深度学习自然语言处理
15+阅读 · 2020年6月15日
深度学习目标检测算法综述
AI研习社
24+阅读 · 2019年2月1日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐的可解释性[综述]
LibRec智能推荐
10+阅读 · 2018年5月4日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2023年5月25日
A Survey of Large Language Models
Arxiv
337+阅读 · 2023年3月31日
Arxiv
34+阅读 · 2019年11月7日
AutoML: A Survey of the State-of-the-Art
Arxiv
68+阅读 · 2019年8月14日
VIP会员
相关VIP内容
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
Multi-Task Learning的几篇综述文章
深度学习自然语言处理
15+阅读 · 2020年6月15日
深度学习目标检测算法综述
AI研习社
24+阅读 · 2019年2月1日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
LibRec 精选:推荐的可解释性[综述]
LibRec智能推荐
10+阅读 · 2018年5月4日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员