ISSTA/ECOOP 2024 (series) / ISSTA 2024 (series) / Technical Papers /
BRAFAR: Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments
The problem of automated feedback generation for introductory programming assignments (IPAs) has attracted significant attention with the increasing demand for programming education. While existing approaches, like \textit{Refactory}, that employ the \textit{"block-by-block"} repair strategy have produced promising results, they suffer from two limitations.
First, \textit{Refactory} randomly applies refactoring and mutation operations to correct and buggy programs, respectively, to align their control-flow structures (CFSs), which, however, has a relatively low success rate and often complicates the original repairing tasks.
Second, \textit{Refactory} generates repairs for each basic block of the buggy program when its semantics differs from the counterpart in the correct program, which, however, ignores the different roles that basic blocks play in the programs and often produces unnecessary repairs.
To overcome these limitations, we propose the \textsc{Brafar} approach to feedback generation for IPAs.
The core innovation of \textsc{Brafar} lies in its novel bidirectional refactoring algorithm and coarse-to-fine fault localization.
The former aligns the CFSs of buggy and correct programs by applying semantics-preserving refactoring operations to both programs in a guided manner,
while the latter identifies basic blocks that truly need repairs based on the semantics of their enclosing statements and themselves.
In our experimental evaluation on 1783 real-life incorrect student submissions from a publicly available dataset, \textsc{Brafar} significantly outperformed \textit{Refactory} and \textsc{Clara}, generating correct repairs for more incorrect programs with smaller patch sizes in a shorter time.
Wed 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
Wed 18 Sep
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:10 | |||
15:30 20mTalk | Automated Program Repair via Conversation: Fixing 162 out of 337 Bugs for $0.42 Each using ChatGPT Technical Papers Chunqiu Steven Xia University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois at Urbana-Champaign DOI | ||
15:50 20mTalk | ThinkRepair: Self-Directed Automated Program Repair Technical Papers Xin Yin Zhejiang University, Chao Ni Zhejiang University, Shaohua Wang Central University of Finance and Economics, Zhenhao Li York University, Limin Zeng Zhejiang University, Xiaohu Yang Zhejiang University DOI | ||
16:10 20mTalk | BRAFAR: Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments Technical Papers Linna Xie Nanjing University, Chongmin Li Nanjing University, Yu Pei Hong Kong Polytechnic University, Tian Zhang Nanjing University, Minxue Pan Nanjing University DOI | ||
16:30 20mTalk | CREF: An LLM-Based Conversational Software Repair Framework for Programming Tutors Technical Papers Boyang Yang Yanshan University; Beijing JudaoYouda Network Technology, Haoye Tian University of Melbourne, Weiguo Pian University of Luxembourg, Haoran Yu Beijing JudaoYouda Network Technology, Haitao Wang Beijing JudaoYouda Network Technology, Jacques Klein University of Luxembourg, Tegawendé F. Bissyandé University of Luxembourg, Shunfu Jin Yanshan University DOI | ||
16:50 20mTalk | One Size Does Not Fit All: Multi-granularity Patch Generation for Better Automated Program RepairACM SIGSOFT Distinguished Paper Award Technical Papers Bo Lin National University of Defense Technology, Shangwen Wang National University of Defense Technology, Ming Wen Huazhong University of Science and Technology, Liqian Chen National University of Defense Technology, Xiaoguang Mao National University of Defense Technology DOI Pre-print |
Information for Participants
Wed 18 Sep 2024 15:30 - 17:10 at EI 7 - Program Repair 1 Chair(s): Xiang Gao
Info for room EI 7: