Write a Blog >>
Tue 11 Oct 2022 15:10 - 15:30 at Ballroom C East - Technical Session 5 - Code Analysis Chair(s): Vahid Alizadeh

Learning-based program repair has achieved good results in a recent series of papers. Yet, we observe that the related work fails to repair some bugs because of a lack of knowledge about 1) the application domain of the program being repaired, and 2) the fault type being repaired. In this paper, we solve both problems by changing the learning paradigm from supervised training to self-supervised training in an approach called SelfAPR. First, SelfAPR generates and constructs training samples by perturbing a previous version of the program being repaired, enforcing the neural model to capture project-specific knowledge. This is different from the previous work based on mined past commits. Second, SelfAPR extracts and encodes test execution diagnostics into the input representation, steering the neural model to fix the kind of fault. This is different from the existing studies that only consider static source code as input. We implement SelfAPR and evaluate it in a systematic manner. We train SelfAPR with 850 705 training samples obtained by perturbing 17 open-source projects. We evaluate SelfAPR on 818 bugs from Defects4J, SelfAPR correctly repairs 114 of them, outperforming all the supervised learning repair approaches.

Tue 11 Oct

Displayed time zone: Eastern Time (US & Canada) change

14:00 - 15:30
Technical Session 5 - Code AnalysisTool Demonstrations / Research Papers / Journal-first Papers at Ballroom C East
Chair(s): Vahid Alizadeh DePaul University
14:00
20m
Research paper
Detecting Blocking Errors in Go Programs using Localized Abstract InterpretationACM SIGSOFT Distinguished Paper Award
Research Papers
Oskar Haarklou Veileborg Aarhus University, Georgian-Vlad Saioc Aarhus University, Anders Møller Aarhus University
Link to publication
14:20
10m
Demonstration
InvCon: A Dynamic Invariant Detector for Ethereum Smart Contracts
Tool Demonstrations
Ye Liu Nanyang Technological University, Yi Li Nanyang Technological University
Pre-print
14:30
20m
Paper
An empirical comparison of four Java-based regression test selection techniques
Journal-first Papers
Min Kyung Shin Colorado State University, Sudipto Ghosh Colorado State University, USA, Leo R. Vijayasarathy Colorado State University
Link to publication DOI
14:50
10m
Demonstration
Augur: Dynamic Taint Analysis for Asynchronous JavaScript
Tool Demonstrations
Mark W. Aldrich Tufts University, Alexi Turcotte Northeastern University, Matthew Blanco Northeastern University, Frank Tip Northeastern University
15:00
10m
Demonstration
FlexType: A Plug-and-Play Framework for Type Inference Models
Tool Demonstrations
Sivani Voruganti UC Davis, Kevin Jesse University of California at Davis, USA, Prem Devanbu Department of Computer Science, University of California, Davis
Pre-print
15:10
20m
Research paper
SelfAPR: Self-supervised Program Repair with Test Execution DiagnosticsVirtual
Research Papers
He Ye KTH Royal Institute of Technology, Matias Martinez Université Polytechnique Hauts-de-France, Xiapu Luo Hong Kong Polytechnic University, Tao Zhang Macau University of Science and Technology (MUST), Martin Monperrus KTH Royal Institute of Technology