Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia

Training a deep learning model on source code has gained significant traction recently. Since such models reason about vectors of numbers, source code needs to be converted to a code representation before vectorization. Numerous approaches have been proposed to represent source code, from sequences of tokens to abstract syntax trees. However, there is no systematic study to understand the effect of code representation on learning performance. Through a controlled experiment, we examine the impact of various code representations on model accuracy and usefulness in deep learning-based program repair. We train 21 different generative models that suggest fixes for name-based bugs, including 14 different homogeneous code representations, four mixed representations for the buggy and fixed code, and three different embeddings. We assess if fix suggestions produced by the model in various code representations are automatically patchable, meaning they can be transformed to a valid code that is ready to be applied to the buggy code to fix it. We also conduct a developer study to qualitatively evaluate the usefulness of inferred fixes in different code representations. Our results highlight the importance of code representation and its impact on learning and usefulness. Our findings indicate that (1) while code abstractions help the learning process, they can adversely impact the usefulness of inferred fixes from a developer’s point of view; this emphasizes the need to look at the patches generated from the practitioner’s perspective, which is often neglected in the literature, (2) mixed representations can outperform homogeneous code representations, (3) bug type can affect the effectiveness of different code representations; although current techniques use a single code representation for all bug types, there is no single best code representation applicable to all bug types.

Thu 18 May

Displayed time zone: Hobart change

11:00 - 12:30
Program repair techniques and applicationsTechnical Track / Journal-First Papers / DEMO - Demonstrations at Meeting Room 104
Chair(s): Xuan-Bach D. Le University of Melbourne
11:00
15m
Talk
Better Automatic Program Repair by Using Bug Reports and Tests Together
Technical Track
Manish Motwani Georgia Institute of Technology, Yuriy Brun University of Massachusetts
Pre-print
11:15
15m
Talk
CCTEST: Testing and Repairing Code Completion Systems
Technical Track
Li Zongjie , Chaozheng Wang Harbin Institute of Technology, Zhibo Liu Hong Kong University of Science and Technology, Haoxuan Wang EPFL, Dong Chen HKUST, Shuai Wang Hong Kong University of Science and Technology, Cuiyun Gao Harbin Institute of Technology
11:30
7m
Talk
A Controlled Experiment of Different Code Representations for Learning-Based Program Repair
Journal-First Papers
Marjane Namavar University of British Columbia, Noor Nashid University of British Columbia, Ali Mesbah University of British Columbia (UBC)
Link to publication Pre-print
11:37
7m
Talk
Patching Locking Bugs Statically with Crayons
Journal-First Papers
Juan Alfredo Cruz-Carlon IT University of Copenhagen, Mahsa Varshosaz IT University of Copenhagen, Denmark, Claire Le Goues Carnegie Mellon University, Andrzej Wąsowski IT University of Copenhagen, Denmark
11:45
15m
Talk
KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair
Technical Track
Nan Jiang Purdue University, Thibaud Lutellier University of Alberta, Yiling Lou Fudan University, Lin Tan Purdue University, Dan Goldwasser Purdue University, Xiangyu Zhang Purdue University
Pre-print
12:00
15m
Talk
Rete: Learning Namespace Representation for Program RepairDistinguished Paper Award
Technical Track
Nikhil Parasaram University College London, Earl T. Barr University College London, Sergey Mechtaev University College London
Link to publication Pre-print
12:15
7m
Talk
Cerberus: a Program Repair Framework
DEMO - Demonstrations
Ridwan Salihin Shariffdeen National University of Singapore, Martin Mirchev National University of Singapore, Yannic Noller National University of Singapore, Abhik Roychoudhury National University of Singapore
12:22
7m
Talk
Predicting Patch Correctness Based on the Similarity of Failing Test Cases
Journal-First Papers
Haoye Tian University of Luxembourg, Yinghua LI University of Luxembourg, Weiguo Pian University of Luxembourg, Abdoul Kader Kaboré SnT, University of Luxembourg, Kui Liu Huawei Software Engineering Application Technology Lab, Andrew Habib SnT, University of Luxembourg, Jacques Klein University of Luxembourg, Tegawendé F. Bissyandé SnT, University of Luxembourg