Affiliation:
1. University of Lille, Villeneuve d'Ascq Cedex
Abstract
This article presents a survey on automatic software repair. Automatic software repair consists of automatically finding a solution to software bugs without human intervention. This article considers all kinds of repairs. First, it discusses behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle. Second, it discusses state repair, also known as runtime repair or runtime recovery, with techniques such as checkpoint and restart, reconfiguration, and invariant restoration. The uniqueness of this article is that it spans the research communities that contribute to this body of knowledge: software engineering, dependability, operating systems, programming languages, and security. It provides a novel and structured overview of the diversity of bug oracles and repair operators used in the literature.
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Cited by
211 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Extending the range of bugs that automated program repair can handle;Journal of Systems and Software;2024-03
2. Practical Program Repair via Preference-based Ensemble Strategy;Proceedings of the 46th IEEE/ACM International Conference on Software Engineering;2024-02-06
3. ITER: Iterative Neural Repair for Multi-Location Patches;Proceedings of the 46th IEEE/ACM International Conference on Software Engineering;2024-02-06
4. Domain Knowledge Matters: Improving Prompts with Fix Templates for Repairing Python Type Errors;Proceedings of the 46th IEEE/ACM International Conference on Software Engineering;2024-02-06
5. A Survey of Learning-based Automated Program Repair;ACM Transactions on Software Engineering and Methodology;2023-12-23