Skip to yearly menu bar Skip to main content

Keynote Talk
Workshop: Workshop on Computer Assisted Programming (CAP)

Satish Chandra Talk

Satish Chandra · Augustus Odena · Charles Sutton


Title: Automatic Program Repair using Getafix

Abstract: Developers spend a significant amount of their time fixing bugs. Fixes often are repetitive, so it appears that some portion of this work should be automated. Indeed, some recent approaches offer automation, but these typically explore a large space of potential fixes by making varying combinations of mutations, trying them all until one that passes the test suite. This is not only computationally expensive, but the suggested may not look natural to a developer. We present Getafix, a tool that offers readable bug fixes without requiring massive computational resources. Getafix learns from your bug fix history. It extracts past code changes that fixed bugs and learns, in an off-line phase, a set of templates from those fixes. As new bug reports appear, Getafix uses these templates to create and rank a set of suggestions in mere seconds, as well as offer fixes that resemble human-made fixes. At Facebook, Getafix has been used to auto-fix bugs reported by static analysis tools like Infer.