Research
My research is broadly in Automated Software Engineering, with a focus on developing techniques that enable software systems to be automatically analyzed, tested, transformed, repaired, and optimized. Across my work, I have explored how program analysis, software testing, empirical methods, and increasingly artificial intelligence can automate the analysis and improvement of software.
My research has progressed from automated test generation and reuse [ICPC'22] [EMSE'24], to program analysis and transformation for software optimization [ICSE'26], to feedback-driven use of large language models (LLMs) for software testing [ISSTA'26]. More recently, I have become interested in agentic software engineering: moving beyond the automation of individual tasks toward end-to-end autonomous workflows that can interact with software environments, gather evidence, reason about necessary actions, modify software, validate their results, and iteratively respond to feedback.
This work contributes to a broader vision of AI-powered automated software evolution, in which increasingly autonomous systems can identify opportunities for software improvement and carry out the necessary engineering workflows, while developers retain final oversight of proposed changes.