Automatically Preventing, Detecting, and Repairing Crucial Errors in Programs
Speaker
Jialu Zhang
Time
2024-04-15 14:00:00 ~ 2024-04-15 15:30:00
Location
上海交通大学电信群楼1-418会议室
Host
陈东尧
Abstract
High-impact errors in programs cause huge money losses, are notoriously expensive for programmers to repair, and affect millions of real-world users. In this talk, I will highlight the need to move beyond our post-mortem, manual error handling to develop tools to automatically prevent, detect, and repair program errors. I will present my methods and findings on misconfiguration detection, merge conflict resolution, and feedback generation for errors in students’ programming assignments. The tools I have developed combine a variety of new techniques including program analysis, machine learning, and large language models. I will present my progress, and discuss the implications for the future of error detection and repair research.
Bio
Jialu Zhang is an assistant professor in the ECE department at the University of Waterloo. He obtained his PhD in Computer Science at Yale University advised by Ruzica Piskac. He develops tools to automatically prevent, detect, and repair high-impact errors in systems (misconfigurations), collaborative software development (merge conflicts and continuous integration errors), and most recently, CS Education (generating feedback for intro-level and competitive-level programming assignments). His tool development delivers practical impact. For example, the detected misconfigurations have been confirmed and resolved by the original developers on GitHub. Previously, he spent two summers at Microsoft Research (MSR) working with Shuvendu Lahiri, Sumit Gulwani, and Jose Cambronero.