Please note: This seminar will take place online.
Juan Zhai, Assistant Teaching Professor
Department of Computer Science, Rutgers University
Program specifications provide clear and precise descriptions of behaviors of a software system, which serves as a blueprint for its design and implementation. They help ensure that the system is built correctly and the functions work as intended, making it easier to troubleshoot, modify, and verify the system if needed. NIST suggests that the lack of high-quality specifications is the most common cause of software project failure. Nowadays, successful projects have an equal or even higher number of specifications than code (counted by lines).
In this talk, I will present my research on synthesizing both informal and formal specifications for software systems. I will explain how we use a combination of program and natural language semantics to automatically generate informal specifications, even for native methods without implementation in Java which previous methods could not handle. By leveraging the generated specifications, we successfully detect many code bugs and code-comment inconsistencies. Additionally, I will describe how we derive formal specifications from natural language comments using a search-based technique. The generated formal specifications have been applied to facilitate program analysis for existing tools. They have been shown to greatly improve the capabilities of these tools, by detecting many new information leaking paths and reducing false alarms in testing. Overall, the talk will highlight the importance of program specifications in software engineering and demonstrate the potential of our techniques to improve the development and maintenance of software systems.
Bio: Juan Zhai is an Assistant Teaching Professor in the Department of Computer Science at Rutgers University. Previously, she was a Postdoctoral Research Associate, working with Prof. Xiangyu Zhang in the Department of Computer Science at Purdue University. She also worked as a tenure-track Assistant Professor at Nanjing University, where she obtained her Ph.D. degree.
Her research interests lie in software engineering, natural language processing, and security, focusing on specification synthesis and enforcement. She is the recipient of the Distinguished Paper Award of USENIX Security 2017 and the Outstanding Doctoral Student Award in NASAC 2016.
To attend this seminar on Zoom, please go to https://uwaterloo.zoom.us/j/97167352075. The passcode will be provided by email on Friday before the seminar as well as on the morning of the seminar.
200 University Avenue West
Waterloo, ON N2L 3G1