* ICSE 2018 *
Sun 27 May - Sun 3 June 2018 Gothenburg, Sweden
Wed 30 May 2018 11:00 - 11:20 at H1 room - Software Repair I Chair(s): Lars Grunske

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 May
Times are displayed in time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:30: Technical Papers - Software Repair I at H1 room
Chair(s): Lars GrunskeHumboldt-Universität zu Berlin
icse-2018-Technical-Papers11:00 - 11:20
Ming WenThe Hong Kong University of Science and Technology, Junjie ChenPeking University, Rongxin WuDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology, Dan HaoPeking University, Shing-Chi CheungDepartment of Computer Science and Engineering, The Hong Kong University of Science and Technology
icse-2018-Technical-Papers11:20 - 11:40
Jinru Hua, Mengshi ZhangUniversity of Texas at Austin, USA, Kaiyuan Wang, Sarfraz KhurshidUniversity of Texas at Austin
File Attached
icse-2018-Journal-first-papers11:40 - 12:00
Jooyong YiInnopolis University, Shin Hwei Tan, Sergey MechtaevNational University of Singapore, Marcel BöhmeMonash University, Abhik RoychoudhuryNational University of Singapore
icse-2018-Journal-first-papers12:00 - 12:20
Manish MotwaniUniversity of Massachusetts, Amherst, Sandhya Sankaranarayanan, René JustUniversity of Massachusetts, USA, Yuriy BrunUniversity of Massachusetts, Amherst
Link to publication DOI Pre-print
icse-2018-Technical-Papers12:20 - 12:30