» » »

Adventures in Program Repair

Programmers constantly face errors that are confusing and hard to fix. In particular, inexperience programmers, who cannot address commonly occurring errors, have to resort to online help-forums for finding corrections to their buggy programs. I will present three ideas that leverage advances in program synthesis to automatically assist unskilled programmers that face commonly occurring errors.

First, I will talk about "emulative program repair", a technique for automatically learning how to fix errors directly from programmers. Given examples of bug fixes from real programmers, we synthesize "rules" that generalize such bug fixes and use them to automatically repair programs that contains similar bugs. Second, I will talk about "repair via direct manipulation", a technique that allows the programmer to express what a repaired program should do by directly manipulating intermediate runtime values of a program. Using the manipulated values, we automatically synthesize programs compliant with the user intent. Third, I will talk about "program repair under uncertainty", where program inputs are drawn from a probability distribution. I will show how program that do not satisfy a given probabilistic postcondition can be efficiently repaired by combining techniques from program synthesis and computational learning theory.

Speaker: Loris D'Antonio, Univ. of Wisconsin-Madison

Friday, 05/05/17

Contact:

Website: Click to Visit

Cost:

Free

Save this Event:

iCalendar
Google Calendar
Yahoo! Calendar
Windows Live Calendar

Cory Hall

UC Berkeley
Room 540 A/B
Berkeley, CA 94720

Categories: