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

Suhwan Ji, Sang Min Choi, Sang Ki Ko, Dohyung Kim, Hyeonseung Im

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

1 Scopus citations

Abstract

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.

Original languageEnglish
Title of host publicationProceedings of the 37th ACM/SIGAPP Symposium on Applied Computing, SAC 2022
PublisherAssociation for Computing Machinery
Pages1554-1561
Number of pages8
ISBN (Electronic)9781450387132
DOIs
StatePublished - 25 Apr 2022
Event37th ACM/SIGAPP Symposium on Applied Computing, SAC 2022 - Virtual, Online
Duration: 25 Apr 202229 Apr 2022

Publication series

NameProceedings of the ACM Symposium on Applied Computing

Conference

Conference37th ACM/SIGAPP Symposium on Applied Computing, SAC 2022
CityVirtual, Online
Period25/04/2229/04/22

Keywords

  • program repair
  • program synthesis

Fingerprint

Dive into the research topics of 'RepCoder: An Automated Program Repair Framework for Probability-Based Program Synthesis'. Together they form a unique fingerprint.

Cite this