当前位置:
X-MOL 学术
›
ACM Comput. Surv.
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Evolving Paradigms in Automated Program Repair: Taxonomy, Challenges, and Opportunities
ACM Computing Surveys ( IF 23.8 ) Pub Date : 2024-09-19 , DOI: 10.1145/3696450 Kai Huang, Zhengzi Xu, Su Yang, Hongyu Sun, Xuejun Li, Zheng Yan, Yuqing Zhang
ACM Computing Surveys ( IF 23.8 ) Pub Date : 2024-09-19 , DOI: 10.1145/3696450 Kai Huang, Zhengzi Xu, Su Yang, Hongyu Sun, Xuejun Li, Zheng Yan, Yuqing Zhang
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. The software bug has become an important factor troubling developers. In this context, Automated Program Repair (APR) techniques have emerged, aiming to automatically fix software bug 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 review 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 and then discuss the current state of APR development. Finally, we analyze current challenges and future directions, especially highlighting the critical opportunities that large language models bring to APR research.
中文翻译:
自动化程序修复中不断发展的范式:分类、挑战和机遇
随着程序软件的快速发展和大规模普及,现代社会越来越依赖软件系统。然而,软件暴露的问题也浮出水面。软件错误已成为困扰开发人员的重要因素。在此背景下,自动程序修复 (APR) 技术应运而生,旨在自动修复软件错误问题并减少手动调试工作。特别是,受益于深度学习的进步,近年来涌现出许多基于学习的 APR 技术,这也为 APR 研究带来了新的机遇。为了让研究人员快速了解 APR 技术的完整发展和未来机遇,我们回顾了 APR 技术的演变并深入讨论了 APR 研究的最新进展。在本文中,从四种不同的补丁生成方案的角度介绍了 APR 技术的发展:基于搜索、基于约束、基于模板和基于学习。此外,我们提出了一套统一的标准来审查和比较每个 APR 工具,然后讨论 APR 发展的现状。最后,我们分析了当前的挑战和未来的方向,特别是强调了大型语言模型为 APR 研究带来的关键机会。
更新日期:2024-09-19
中文翻译:
自动化程序修复中不断发展的范式:分类、挑战和机遇
随着程序软件的快速发展和大规模普及,现代社会越来越依赖软件系统。然而,软件暴露的问题也浮出水面。软件错误已成为困扰开发人员的重要因素。在此背景下,自动程序修复 (APR) 技术应运而生,旨在自动修复软件错误问题并减少手动调试工作。特别是,受益于深度学习的进步,近年来涌现出许多基于学习的 APR 技术,这也为 APR 研究带来了新的机遇。为了让研究人员快速了解 APR 技术的完整发展和未来机遇,我们回顾了 APR 技术的演变并深入讨论了 APR 研究的最新进展。在本文中,从四种不同的补丁生成方案的角度介绍了 APR 技术的发展:基于搜索、基于约束、基于模板和基于学习。此外,我们提出了一套统一的标准来审查和比较每个 APR 工具,然后讨论 APR 发展的现状。最后,我们分析了当前的挑战和未来的方向,特别是强调了大型语言模型为 APR 研究带来的关键机会。