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

Automated Program Repair (APR) is very useful in helping developers in the process of software development and maintenance. Despite recent advances in deep learning (DL), the DL-based APR approaches still have limitations in learning bug-fixing code changes and learning which context of the surrounding source code that certain bug-fixing changes should be made. These limitations lead to incorrect fixing locations or incorrect fixes. In this paper, we introduce DLFix, a two-tier DL model that treats APR as code transformation learning from the prior bug fixes and the surrounding code contexts of the fixes. The first layer is a tree-based RNN model that learns the contexts of bug fixes and its result is used as an additional weighting input for the second layer, which is designed to learn the bug-fixing code transformations.

We conducted several experiments to evaluate DLFix in two standard datasets Defects4J, and Bugs.jar, and in a newly built bug datasets with a total of +20K real-world bugs in eight projects. We have compared against a total of 13 state-of-the-art pattern-based APR tools. Our results show that DLFix improves over 11 of them, and is comparable and complementary to the top two pattern-based APR tools in which there are 7 and 11 unique bugs that they cannot detect, respectively, but we can. Importantly, DLFix is fully automated and data-driven, and does not require hard-coding of bug-fixing patterns as in those tools. We compared DLFix against 4 state-of-the-art deep learning based APR models. DLFix is able to fix 2.5 times more bugs than the best performing baseline.

Sat 11 Jul

Displayed time zone: (UTC) Coordinated Universal Time change

15:00 - 16:00
A26-Bugs and RepairJournal First / Technical Papers at Goguryeo
Chair(s): Davide Falessi California Polytechnic State University
15:00
12m
Talk
Simulee: Detecting CUDA Synchronization Bugs via Memory-Access ModelingTechnical
Technical Papers
Mingyuan Wu Southern University of Science and Technology, Yicheng Ouyang Southern University of Science and Technology, Husheng Zhou The University of Texas at Dallas, Lingming Zhang The University of Texas at Dallas, Cong Liu UT Dallas, Yuqun Zhang Southern University of Science and Technology
15:12
8m
Talk
Fine-Grained Dynamic Resource Allocation for Big-Data ApplicationsJ1
Journal First
Luciano Baresi Politecnico di Milano, Alberto Leva Politecnico di Milano, Giovanni Quattrocchi Politecnico di Milano
15:20
8m
Talk
The Assessor's Dilemma: Improving Bug Repair via Empirical Game TheoryJ1
Journal First
Carlos Gavidia-Calderon University College London, Federica Sarro University College London, UK, Mark Harman Facebook and University College London, Earl T. Barr University College London, UK
Link to publication DOI Pre-print Media Attached
15:28
8m
Talk
FixMiner: Mining Relevant Fix Patterns for Automated Program RepairJ1
Journal First
Anil Koyuncu University of Luxembourg, Luxembourg, Kui Liu Huawei Software Engineering Application Technology Lab, Tegawendé F. Bissyandé SnT, University of Luxembourg, Dongsun Kim Furiosa.ai, Jacques Klein University of Luxembourg, SnT, Martin Monperrus KTH Royal Institute of Technology, Yves Le Traon University of Luxembourg
Pre-print
15:36
8m
Talk
IntRepair: Informed Repairing of Integer OverflowsJ1
Journal First
Paul Muntean TU Munich, Martin Monperrus KTH Royal Institute of Technology, Hao Sun Unaffiliated, Jens Grossklags Technical University of Munich, Claudia Eckert Technical University of Munich
15:44
12m
Talk
DLFix: Context-based Code Transformation Learning for Automated Program RepairTechnical
Technical Papers
Yi Li New Jersey Institute of Technology, USA, Shaohua Wang New Jersey Institute of Technology, USA, Tien N. Nguyen University of Texas at Dallas