Dr. Liang, Zhenkai Gave a Talk on “Error Detection and Debugging through Software Binary Analysis and Comparison”

Date: Jul 06, 2012

 Dr. Liang, Zhenkai is an assistant professor of the School of Computing, National University of Singapore. His main research interests are in system and software security, web security, and software debugging. He has been working on solutions in malicious program analysis and confinement, malicious JavaScript prevention in the browser environment, and software error detection and debugging techniques. As a co-author, he received the ACM SIGSOFT Distinguished Paper Award at ESEC/FSE in 2009, the Best Paper Award at USENIX Security Symposium in 2007, and the Outstanding Paper Award at the Annual Computer Security Applications Conference (ACSAC) in 2003. He also received the Young Investigator Award of National University of Singapore in 2008. He received a Ph.D. degree in Computer Science from Stony Brook University in 2006, a B.S. degree in Computer Science and a B.S. degree in Economics from Peking University in 1999.

Invited by Zhang, Zhaoqing, the a Professor of Key Laboratory of Computer System and Architecture,Institute of Computing Technology, Chinese Academy of Sciences, Dr. Liang, Zhenkai gave a talk on “Error Detection and Debugging through Software Binary Analysis and Comparison” on July-03-2012. The talk began at 10:30AM in Room 446.

In this talk, Dr. Liang, Zhenkai represented one of his solutions to error detection and software debugging-- building symbolic formula to represent how a program processes inputs to compare software. First, it introduces an automated approach to detect software errors by finding deviations in two implementations of a specification, i.e., differences in the way they process their inputs. Dr. Liang showed how symbolic formula can be used to compare programs effectively to reveal deviations. Second, this technique shows an approach for debugging software errors in evolving programs or programs from the same specification: Given two programs (a reference, stable program and a new, modified program) and an input that fails on the modified program, this approach uses concilc execution to synthesize new inputs that differ marginally from the failing input in their control flow behavior. A comparison of the execution traces of the failing input and the new inputs provides critical clues to the root-cause of the failure. The technique also introduces the underlying binary analysis platform, BitBlaze, and its other applications in debugging and system security.

After the talk, attendees carried out lively discussion on related issues. Thanks Dr. Liang so much for bringing us this excellent talk.