Context-Aware Patch Generation for Better Automated Program Repair
Because of its potential impacts, search-based automated program repair has received great attention in the research community. However, its effectiveness is limited in the number of correct patches that can be successfully generated. There are two causes of such limitation. First, the search space does not contain the correct patch. Second, the search space is huge and therefore the correct patch cannot be generated (\ie correct patches are either generated after incorrect plausible ones or not generated within the time budget).
To increase the likelihood of including correct patches in the search space, we propose to work at a fine granularity in terms of AST nodes. This, however, will further enlarge the search space, increasing the challenge to find the correct patches. We address the challenge by devising a strategy to prioritize the candidate patches based on their likelihood of being correct. Specifically, we study the use of AST nodes’ context information to estimate the likelihood.
In this paper, we propose \textsc{CapGen}, a context-aware patch generation technique. The novelty which allows \textsc{CapGen} to produce more correct patches lies in three aspects: (1) The fine-granularity design enables it to find more correct fixing ingredients; (2) The context-aware prioritization of mutation operators enables it to constrain the search space; (3) Three context-aware models enable it to rank correct patches at high positions before incorrect plausible ones. We evaluate \textsc{CapGen} on \textsc{Defects4J} and compare it with the state-of-the-art program repair techniques. Our evaluation shows that \textsc{CapGen} outperforms and complements existing techniques. \textsc{CapGen} achieves a high precision of $84.00%$ and can prioritize the correct patches before $98.78%$ of the incorrect plausible ones.
Wed 30 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | Software Repair IJournal first papers / Technical Papers at H1 room Chair(s): Lars Grunske Humboldt-Universität zu Berlin | ||
11:00 20mTalk | Context-Aware Patch Generation for Better Automated Program Repair Technical Papers Ming Wen The Hong Kong University of Science and Technology, Junjie Chen Peking University, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Dan Hao Peking University, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology Pre-print | ||
11:20 20mTalk | Towards Practical Program Repair with On-Demand Candidate Generation Technical Papers Jinru Hua , Mengshi Zhang University of Texas at Austin, USA, Kaiyuan Wang , Sarfraz Khurshid University of Texas at Austin File Attached | ||
11:40 20mTalk | A Correlation Study between Automated Program Repair and Test-Suite Metrics Journal first papers Jooyong Yi Innopolis University, Shin Hwei Tan , Sergey Mechtaev National University of Singapore, Marcel Böhme Monash University, Abhik Roychoudhury National University of Singapore Pre-print | ||
12:00 20mTalk | Do Automated Program Repair Techniques Repair Hard and Important Bugs? Journal first papers Manish Motwani University of Massachusetts, Amherst, Sandhya Sankaranarayanan , René Just University of Massachusetts, USA, Yuriy Brun University of Massachusetts, Amherst Link to publication DOI Pre-print | ||
12:20 10mTalk | Q&A in groups Technical Papers |