Seminars & Colloquia
University of Virginia
"Automatic Program Repair and Improvement"
Friday April 11, 2014 10:00 AM
Location: 2201, EB III (EB3) NCSU Centennial Campus
(Visitor parking instructions)
(You may find this talk of interest if you enjoy programs that fix themselves, human studies with over 5,000 participants, links to computer graphics, or formal methods.)
There are more bugs in real-world programs than human programmers can realistically address. Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We summarize recent research results in specification mining, automated program repair, software maintainability, and automated program improvement. Focusing on program repair, we report the results of a large-scale, systematic study of high-priority defects from programs involving over 5 million lines of code and over 10,000 test cases. We find that our technique can repair over half of 105 bugs for a few dollars each. In a human study we find that our patches are more maintainable than human-written patches (in terms of both time and accuracy). In addition, our technique has been used to synthesize state-of-the-art shaders and BRDFs for graphics programs. We consider these results to be strongly human-competitive and hope that they will spur interest in similar techniques.
Westley Weimer is an associate professor at the University of Virginia. He received his PhD from the University of California at Berkeley. His research interests include reducing the costs associated with software development (particularly through automated program repair) as well as program analysis, formal verification, and human studies. He is a senior member of the Association for Computing Machinery and his work has led to seven distinguished paper awards and over six thousand citations.
Host: Emerson Murphy-Hill, Computer Science, NCSU