Date: Thursday, September 11, 2025
Time: 11:45 a.m. to 12:45 p.m.
Location: G01 Gates Hall
Speaker: Claire Le Goues, Professor of Computer Science, Carnegie Mellon University
Abstract: Software engineers never start from a blank page, but rather from an extant and usually long-running project in need of modification (for repair, extension, update, etc.). One way to view modern programming is thus as a continual process of iteratively transforming existing programs into something new, and hopefully better.
In this talk, I will discuss my work on techniques to automate a broad range of software engineering and programming tasks. I position program transformation as a search problem over a space of potential program edits; automating transformation entails careful design choices to manage and successfully traverse this trivially infinite space. I will focus especially on the fundamental challenge of ensuring that automatically transformed code is of acceptable quality, and ways to tackle that challenge, especially in light of recent advances in generative AI. Throughout, I will highlight my vision of how to develop future-generation tools to help engineers make better software, and make existing software better, by carefully integrating domain knowledge and semantics-based reasoning with powerful heuristic search.
