Episode 379: Claire Le Goues on Automated Program Repair

Topics covered
Popular Clips
Episode Highlights
Language Suitability
The suitability of programming languages for automated repair is a nuanced topic. explains that languages like C offer flexibility due to their permissive compilers, allowing many edits, though not all are effective. In contrast, Java's stricter rules prevent ineffective changes, making it potentially easier to repair bugs 1. The choice of language often depends on tooling constraints, as researchers tend to stick with languages like C or Java to avoid redoing foundational work 2. Claire notes, "Having a compiler with opinions is probably useful," highlighting the balance between flexibility and constraint in language choice.
Type Information
Type information plays a varied role in automated repair processes. mentions that while some techniques use type constraints to guide patch generation, others do not rely heavily on type information 3. The effectiveness of these techniques often depends on the domain and the quality of the test harness available, as seen in Facebook's Android application testing 3. Claire elaborates on heuristic editing techniques, explaining that edits are often sourced from within the same codebase, ensuring relevance and context 4.
Related Episodes


Episode 441 Shipping Software - With Bugs
Answers 383 questions

Episode 96: Interview Krzysztof Czarnecki
Answers 383 questions

Episode 92: Introduction to Game Development
Answers 383 questions

Episode 462: Felienne on the Programmers Brain
Answers 383 questions

Episode 38: Interview James Noble
Answers 383 questions

Episode 57: Compile-Time Metaprogramming
Answers 383 questions

SE-Radio-Episode-280-Gerald-Weinberg-on-Bugs-Errors-and-Software-Quality
Answers 383 questions

Episode 55: Refactoring Pt. 2
Answers 383 questions

Episode 46: Refactoring Pt. 1
Answers 383 questionsEpisode 87: Software Components
Answers 383 questions

Episode 130: Code Visualization with Michele Lanza
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions

Episode 133: Continuous Integration with Chris Read
Answers 383 questions

Episode 374: Marcus Blankenship on Motivating Programmers
Answers 383 questions

Episode 100: Software in Space
Answers 383 questions














