题目:Canonicalizing Execution for Automated Debugging 报告人:Dr. Xiangyu Zhang Assistant Professor Dept. of Computer Science Purdue University 时间:12月19日(星期一)上午 9:00 –10:00 地点:仙林计算机大楼233会议室 摘要: In this talk, I will present an automated debugging technique. Given a failing run, it identifies the root cause and explains how it leads to the failure. It works by comparing the failing run with a passing reference run. The reference run could be acquired through a different program version, a different schedule, or a different input. The key to success is proper execution alignment before comparison. Executions may differ in many aspects: an instruction may be executed for different numbers of times due to the different numbers of loop iterations or recursions; memory layout may also diverge. Hence, they cannot be simply aligned by instructions and memory addresses. Comparison at mis-aligned places generates meaningless results. I will discuss two execution canonicalization primitives we developed over the years called Structural Indexing that allows execution alignment along the control flow dimension and Memory Indexing along the memory dimension. Leveraging the two primitives, the automated debugging technique features robust and effective causality testing. That is, the technique is able to test if copying a subset of program state from the failing run and pasting it to the passing run induces the same failure in the passing run. Results show that the technique can compute very concise (less than 20 steps for most real world bugs including some from gcc) and effective (i.e. precisely explaining the failures) failure causal paths within minutes for most cases. 报告人简介: Xiangyu Zhang is an assistant professor at Purdue University. He received his PhD degree in the University of Arizona in 2006. His research interest lies in automated debugging, program slicing, uncertain data processing through program anlaysis, reverse engineering, and forensics analysis. He has received the 2006 ACM SIGPLAN Doctoral Dissertation Award, 2008 NSF Career Award, and 2003 SIGSOFT Distinguished Paper Award. |