Blogs (1) >>
ASE 2019
Sun 10 - Fri 15 November 2019 San Diego, California, United States
Wed 13 Nov 2019 11:00 - 11:20 at Cortez 2&3 - Program Repair Chair(s): Yingfei Xiong

Automated program repair has been used to provide feedback for incorrect student programming assignments, since program repair captures the code modification needed to make a given buggy program pass a given test-suite. Existing student feedback generation techniques are limited because they either require manual effort in the form of providing an error model, or require a large number of correct student submissions to learn from, or suffer from lack of scalability and accuracy.

In this work, we propose a fully automated approach for generating student program repairs in real-time. This is achieved by first re-factoring all available correct solutions to semantically equivalent solutions. Given an incorrect program, we match the program with the closest matching refactored program based on its control flow structure. Subsequently, we infer the input-output specifications of the incorrect program’s basic blocks from the executions of the correct program’s aligned basic blocks. Finally, these specifications are used to modify the blocks of the incorrect program via search-based synthesis.

Our dataset consists of almost 1,800 real-life incorrect Python program submissions from 361 students for an introductory programming course at a large public university. Our experimental results suggest that our method is more effective and efficient than recently proposed feedback generation approaches. About 30% of the patches produced by our tool Refactory are smaller than those produced by the state-of-art tool Clara, and can be produced given fewer correct solutions (often a single correct solution) and in a shorter time. We opine that our method is applicable not only to programming assignments, and could be seen as a general-purpose program repair method that can achieve good results with just a single correct reference solution.

Wed 13 Nov

Displayed time zone: Tijuana, Baja California change

10:40 - 12:20
Program RepairResearch Papers / Demonstrations / Journal First Presentations at Cortez 2&3
Chair(s): Yingfei Xiong Peking University
10:40
20m
Talk
Apricot: A Weight-Adaptation Approach to Fixing Deep Learning Models
Research Papers
Hao Zhang City University of Hong Kong, Wing-Kwong Chan City University of Hong Kong, Hong Kong
11:00
20m
Talk
Re-factoring based Program Repair applied to Programming Assignments
Research Papers
Yang Hu The University of Texas at Austin, Umair Z. Ahmed National University of Singapore, Sergey Mechtaev University College London, Ben Leong National University of Singapore, Abhik Roychoudhury National University of Singapore
Pre-print
11:20
20m
Talk
InFix: Automatically Repairing Novice Program Inputs
Research Papers
Madeline Endres University of Michigan, Georgios Sakkas University of California, San Diego, Benjamin Cosman University of California at San Diego, USA, Ranjit Jhala University of California, San Diego, Westley Weimer University of Michigan
Pre-print
11:40
20m
Talk
Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg
Journal First Presentations
Matias Martinez Université Polytechnique Hauts-de-France, Martin Monperrus KTH Royal Institute of Technology
Pre-print
12:00
10m
Demonstration
PraPR: Practical Program Repair via Bytecode Mutation
Demonstrations
Ali Ghanbari The University of Texas at Dallas, Lingming Zhang The University of Texas at Dallas
12:10
10m
Talk
Understanding Automatically-Generated Patches Through Symbolic Invariant Differences
Research Papers
Padraic Cashin Arizona State University, Cari Martinez University of New Mexico, Stephanie Forrest Arizona State University, Westley Weimer University of Michigan
Pre-print