{"title":"Language Models Can Prioritize Patches for Practical Program Patching","authors":"Sungmin Kang, S. Yoo","doi":"10.1145/3524459.3527343","DOIUrl":null,"url":null,"abstract":"The field of Automated Program Repair (APR) has seen significant growth in the past decade. As the field progressed, the number of templates used by APR tools has grown substantially to increase the number of patches included within the domain each tool finds fixable, thus increasing their fixing capability. However, this height-ened potential was not free: new techniques paid by using greater computational resources and time to look over an enlarged repair space. In this paper, we look to curtail this trend by using language models (LMs) to provide guidance about whether a generated patch is natural. By prioritizing patches that generate natural code, which has been demonstrated in prior work to be related to correctness, we can reduce the number of patches that must be inspected to find the first correct patch. We evaluate this prioritization scheme over five APR tools, and find that we can reduce the number of patches that must be inspected in up to 70% of bugs and reduce the total number of patches inspected by up to two-thirds, paving the way for lower-cost program repair.","PeriodicalId":131481,"journal":{"name":"2022 IEEE/ACM International Workshop on Automated Program Repair (APR)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE/ACM International Workshop on Automated Program Repair (APR)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3524459.3527343","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
The field of Automated Program Repair (APR) has seen significant growth in the past decade. As the field progressed, the number of templates used by APR tools has grown substantially to increase the number of patches included within the domain each tool finds fixable, thus increasing their fixing capability. However, this height-ened potential was not free: new techniques paid by using greater computational resources and time to look over an enlarged repair space. In this paper, we look to curtail this trend by using language models (LMs) to provide guidance about whether a generated patch is natural. By prioritizing patches that generate natural code, which has been demonstrated in prior work to be related to correctness, we can reduce the number of patches that must be inspected to find the first correct patch. We evaluate this prioritization scheme over five APR tools, and find that we can reduce the number of patches that must be inspected in up to 70% of bugs and reduce the total number of patches inspected by up to two-thirds, paving the way for lower-cost program repair.