Claire Le Goues
Carnegie Mellon University
Automatic Patch Generation
Research in automated program patching seeks to improve programs by, e.g., fixing bugs, porting functionality, or improving non-functional properties. The past eight years have seen a rapid expansion of techniques proposed and evaluated in this space.
In this talk I will discuss the progression of the area of automated bug repair in particular. I will especially focus on the key challenge of assuring, measuring, and reasoning about the quality of bug-fixing patches. Most such techniques, whether heuristic or semantic, rely on test cases to validate transformation correctness, in the absence of formal correctness specifications, but otherwise vary in the way they construct candidate patches and traverse the infinite space of possibilities. I will outline recent results on the relationship between test suite quality and origin and output quality, with observations about both semantic and heuristic approaches. I will conclude with a discussion of potentially promising future directions and open questions.
Read Claire's blog post about Automatic Patch Generation.
Referenced Papers
- Automatic Program Repair with Evolutionary Computation
- Angelix: scalable multiline program patch synthesis via symbolic analysis
- Repairing Programs with Semantic Code Search
Bio
Claire Le Goues is an Assistant Professor in the School of Computer Science at Carnegie Mellon University, primarily affiliated with the Institute for Software Research. Her research interests span software engineering and programming languages, and especially in how to construct, maintain, evolve, improve/debug, and assure high-quality software systems. She is passionate about the education and training of both software engineering practitioners and researchers, from all backgrounds and walks of life.
Claire has an MS and PhD from the University of Virginia and a BA from Harvard College, all in Computer Science. She worked (briefly!) as a software engineer before graduate school, exposure which gave her a taste for techniques and analyses that scale to the complexities of Real Software.