CIRCLE: Continual Repair across Programming Languages
Wei Yuan, Quanjun Zhang, Tieke He, Chunrong Fang, Nguyen Quoc Viet, Hung, Xiaodong Hao, Hongzhi Yin

TL;DR
CIRCLE is a novel continual learning framework for automatic program repair that effectively repairs multiple programming languages using a single model, overcoming language-specific limitations and adapting to new requirements.
Contribution
The paper introduces CIRCLE, a T5-based APR framework with continual learning capabilities across multiple languages, employing prompting, rehearsal, and regularization strategies.
Findings
CIRCLE achieves state-of-the-art repair performance across four languages.
It effectively prevents catastrophic forgetting during continual learning.
The framework demonstrates efficiency and adaptability in repairing multiple languages.
Abstract
Automatic Program Repair (APR) aims at fixing buggy source code with less manual debugging efforts, which plays a vital role in improving software reliability and development productivity. Recent APR works have achieved remarkable progress via applying deep learning (DL), particularly neural machine translation (NMT) techniques. However, we observe that existing DL-based APR models suffer from at least two severe drawbacks: (1) Most of them can only generate patches for a single programming language, as a result, to repair multiple languages, we have to build and train many repairing models. (2) Most of them are developed in an offline manner. Therefore, they won't function when there are new-coming requirements. To address the above problems, a T5-based APR framework equipped with continual learning ability across multiple programming languages is proposed, namely…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software Testing and Debugging Techniques
