Write a Blog >>
Wed 27 May 2020 17:00 - 17:20 at TBD6 - Program Repair

Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program specifications. While the literature regularly sets new records on the number of benchmark bugs that can be fixed, several studies increasingly raise concerns about the limitations and biases of state-of-the-art approaches. For example, the correctness of generated patches has been questioned in a number of studies, while other researchers pointed out that evaluation schemes may be misleading with respect to the processing of fault localization results. Nevertheless, there is little work addressing the efficiency of patch generation, with regard to the practicality of program repair. In this paper, we fill this gap in the literature, by providing an extensive review on the efficiency of test suite based program repair. We focus on assessing the number of generated patch candidates, since this information is correlated to (1) the strategy to traverse the search space efficiently in order to select sensical repair attempts, (2) the strategy to minimize the test effort for identifying a plausible patch, (3) as well as the strategy to prioritize the generation of a correct patch. To that end, we perform a large-scale empirical study on the efficiency, in terms of quantity of generated patch candidates of the 16 open-source repair tools for Java programs. The experiments are carefully run under the same fault localization configurations to limit biases. Eventually, among other findings, we note that: (1) many irrelevant patch candidates are generated by APR tools by changing wrong code locations; (2) however, if the search space is carefully triaged, fault localization noise has little impact on patch generation efficiency; (3) yet, current template-based repair systems, which are known to be most effective in fixing a large number of bugs, are actually least efficient as they tend to generate majoritarily irrelevant patch candidates.

Wed 27 May

icse-2020-paper-presentations
16:10 - 17:50: Paper Presentations - Program Repair at TBD6
icse-2020-Journal-First16:10 - 16:25
Talk
Anil KoyuncuUniversity of Luxembourg, Luxembourg, Kui LiuUniversity of Luxembourg, Tegawendé F. BissyandéSnT, University of Luxembourg, Dongsun KimFuriosa.ai, Jacques KleinUniversity of Luxembourg, SnT, Martin MonperrusKTH Royal Institute of Technology, Yves Le TraonUniversity of Luxembourg
Pre-print
icse-2020-papers16:25 - 16:45
Talk
Yi LiNew Jersey Institute of Technology, USA, Shaohua WangNew Jersey Institute of Technology, USA, Tien N. NguyenUniversity of Texas at Dallas
icse-2020-Journal-First16:45 - 17:00
Talk
Zimin ChenKTH Royal Institute of Technology, Steve KommruschColorado State University, Michele TufanoCollege of William and Mary, Louis-Noel PouchetColorado State University, Denys PoshyvanykWilliam and Mary, Martin MonperrusKTH Royal Institute of Technology
icse-2020-papers17:00 - 17:20
Talk
Kui LiuUniversity of Luxembourg, Shangwen WangNational University of Defense Technology, Anil KoyuncuUniversity of Luxembourg, Luxembourg, Kisub KimUniversity of Luxembourg, SnT, Tegawendé F. BissyandéSnT, University of Luxembourg, Dongsun KimFuriosa.ai, Peng WuNational University of Defense Technology, Jacques KleinUniversity of Luxembourg, SnT, Xiaoguang MaoNational University of Defense Technology, Yves Le TraonUniversity of Luxembourg
Pre-print
icse-2020-Journal-First17:20 - 17:35
Talk
Paul MunteanTU Munich, Martin MonperrusKTH Royal Institute of Technology, Hao SunUnaffiliated, Jens GrossklagsTechnical University of Munich, Claudia EckertTechnical University of Munich
icse-2020-Journal-First17:35 - 17:50
Talk
Mohammadreza GhanavatiHeidelberg University, Diego CostaConcordia University, Canada, Janos SeboekHeidelberg University, David LoSingapore Management University, Artur AndrzejakHeidelberg University