Automated Program Repair for Introductory Programming Assignments via Bidirectional Refactoring

The development of programming education has given rise to automated program repair techniques tailored for introductory programming assignments (IPAs). Despite the promising performance of mainstream automated feedback generation systems, they still struggle to handle scenarios where there is "...

Full description

Saved in:
Bibliographic Details
Published in2024 IEEE/ACM International Workshop on Automated Program Repair (APR) pp. 53 - 55
Main Authors Xie, Linna, Li, Chongmin, Pei, Yu, Zhang, Tian, Pan, Minxue
Format Conference Proceeding
LanguageEnglish
Published ACM 20.04.2024
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:The development of programming education has given rise to automated program repair techniques tailored for introductory programming assignments (IPAs). Despite the promising performance of mainstream automated feedback generation systems, they still struggle to handle scenarios where there is "no matching control-flow to generate repair" well. This paper presents Brafar, an innovative automated program repair tool for IPAs. Brafar tackles the core issue through a novel "bidirectional refactoring" algorithm which aligns the control-flow structures of the incorrect and ref-erence programs without semantic changes. Additionally, Brafar incorporates a specification inference technique to further enhance the repair process, reducing the occurrence of unnecessary repairs. We have implemented the Brafar tool in Python and it is now publicly available. In comparative experiments, both the Brafar tool and the baseline Refactory tool were evaluated using 100 real-life incorrect programs from 5 different IPAs. The outcomes of these experiments demonstrated that our Brafar tool outperformed the baseline tool in terms of repair accuracy.
DOI:10.1145/3643788.3648017