Automatic Program Transformation
Software engineering as a practice is dominated by maintenance and extension activities. Programmers, by and large, never start from a blank page, but rather from an extant and usually long-running project in need of fixing or extension. One way to view modern programming is thus as a process of iteratively transforming existing programs into something new, and hopefully better. In this context, I will talk about the development of the area of automatic program repair, from research novelty to recent industrial deployment. I will talk about the potential this class of approaches have for a broad class of software development activities, and associated challenges, especially in light of recent advances in generative AI for code. This emerging class of developer tooling has important implications for how humans and tools collaborate in engineering future-generation software systems.
Claire Le Goues is an Associate Professor of Computer Science at Carnegie Mellon University. Her expertise lies in software engineering and applied programming languages., and especially in tools for automatically measuring and improving software quality. She studies how software engineers both do and should assure their programs, both in general and in safety critical systems, and she develops new techniques for automatically improving programs along a variety of axes. She received MS and PhD degrees in Computer Science from the University of Virginia, and a BA in the same from Harvard College.