RepCoder: An Automated Program Repair Framework for Probability-Based Program Synthesis

Citations

WEB OF SCIENCE

3
Citations

SCOPUS

4

초록

Recently, machine learning-based automated program synthesis and repair have extensively been investigated for various domain specific and general-purpose programming languages. In this paper, we revisit the problem of synthesizing programs from input-output examples, and reformulate it as a problem of program repair. More specifically, we propose an automated program repair framework, called RepCoder, that can be used with a neural program synthesis method such as DeepCoder and PCCoder. Given a set of inputoutput examples and a user program with some errors, RepCoder effectively reduces the search space by considering user-written statements to be correct with high likelihood if they are included in the top-.. candidate statements predicted by the employed neural synthesis method. Otherwise, they are considered to be incorrect and replaced with the candidate statements with the highest probabilities that are consistent with the given input-output examples. Our experimental studies confirm that RepCoder using PCCoder as the main predictor effectively and efficiently repairs erroneous programs, showing that it achieves up to 3x the error correction rate compared to when using only PCCoder for repair, i.e., synthesizing a program from scratch without considering the given user program.

키워드

Program RepairProgram Synthesis
제목
RepCoder: An Automated Program Repair Framework for Probability-Based Program Synthesis
저자
Ji, SuhwanChoi, Sang-MinKo, Sang-KiKim, DohyungIm, Hyeonseung
DOI
10.1145/3477314.3507083
발행일
2022
유형
Proceedings Paper
저널명
37TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING
페이지
1554 ~ 1561