Write a Blog >>
ICSE 2020
Wed 24 June - Thu 16 July 2020
Sat 11 Jul 2020 15:28 - 15:36 at Goguryeo - A26-Bugs and Repair Chair(s): Davide Falessi

Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurrence of bugs across projects, the associated similar patches can be leveraged to extract generic fix actions. While the literature includes various approaches leveraging similarity among patches to guide program repair, these approaches often do not yield fix patterns that are tractable and reusable as actionable input to APR systems. In this paper, we propose a systematic and automated approach to mining relevant and actionable fix patterns based on an iterative clustering strategy applied to atomic changes within patches. The goal of FixMiner is thus to infer separate and reusable fix patterns that can be leveraged in other patch generation systems. Our technique, FixMiner, leverages Rich Edit Script which is a specialized tree structure of the edit scripts that captures the ASTlevel context of the code changes. FixMiner uses different tree representations of Rich Edit Scripts for each round of clustering to identify similar changes. These are abstract syntax trees, edit actions trees, and code context trees. We have evaluated FixMiner on thousands of software patches collected from open source projects. Preliminary results show that we are able to mine accurate patterns, efficiently exploiting change information in Rich Edit Scripts. We further integrated the mined patterns to an automated program repair prototype, PARFixMiner, with which we are able to correctly fix 26 bugs of the Defects4J benchmark. Beyond this quantitative performance, we show that the mined fix patterns are sufficiently relevant to produce patches with a high probability of correctness: 81% of PARFixMiner’s generated plausible patches are correct.

Sat 11 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

15:00 - 16:00: Paper Presentations - A26-Bugs and Repair at Goguryeo
Chair(s): Davide FalessiCalifornia Polytechnic State University
icse-2020-papers15:00 - 15:12
Mingyuan WuSouthern University of Science and Technology, Yicheng OuyangSouthern University of Science and Technology, Husheng ZhouThe University of Texas at Dallas, Lingming ZhangThe University of Texas at Dallas, Cong LiuUT Dallas, Yuqun ZhangSouthern University of Science and Technology
icse-2020-Journal-First15:12 - 15:20
Luciano BaresiPolitecnico di Milano, Alberto LevaPolitecnico di Milano, Giovanni QuattrocchiPolitecnico di Milano
icse-2020-Journal-First15:20 - 15:28
Carlos Gavidia-CalderonUniversity College London, Federica SarroUniversity College London, UK, Mark HarmanFacebook and University College London, Earl T. BarrUniversity College London, UK
Link to publication DOI Pre-print Media Attached
icse-2020-Journal-First15:28 - 15:36
Anil KoyuncuUniversity of Luxembourg, Luxembourg, Kui LiuNanjing University of Aeronautics and Astronautics, 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
icse-2020-Journal-First15:36 - 15:44
Paul MunteanTU Munich, Martin MonperrusKTH Royal Institute of Technology, Hao SunUnaffiliated, Jens GrossklagsTechnical University of Munich, Claudia EckertTechnical University of Munich
icse-2020-papers15:44 - 15:56
Yi LiNew Jersey Institute of Technology, USA, Shaohua WangNew Jersey Institute of Technology, USA, Tien N. NguyenUniversity of Texas at Dallas