TY - GEN
T1 - RepCoder
T2 - 37th ACM/SIGAPP Symposium on Applied Computing, SAC 2022
AU - Ji, Suhwan
AU - Choi, Sang Min
AU - Ko, Sang Ki
AU - Kim, Dohyung
AU - Im, Hyeonseung
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022/4/25
Y1 - 2022/4/25
N2 - 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 input-output 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-k 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 3× 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.
AB - 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 input-output 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-k 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 3× 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.
KW - program repair
KW - program synthesis
UR - http://www.scopus.com/inward/record.url?scp=85130310876&partnerID=8YFLogxK
U2 - 10.1145/3477314.3507083
DO - 10.1145/3477314.3507083
M3 - Conference contribution
AN - SCOPUS:85130310876
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 1554
EP - 1561
BT - Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC 2022
PB - Association for Computing Machinery
Y2 - 25 April 2022 through 29 April 2022
ER -