More about HKUST
Combining Static and Dynamic Analyses for Automated Bug-finding
Speaker: Christoph Csallner Georgia Tech Title: "Combining Static and Dynamic Analyses for Automated Bug-finding" Date: Monday, 31 March 2008 Time: 4:00pm - 5:00pm Venue: Lecture Theater F (Leung Yat Sing Lecture Theater, lifts 25/26) HKUST Abstract: Finding bugs is like finding a few needles in an infinitely large haystack of program execution paths. False bug warnings are one of the biggest problems, both for automated correctness provers (such as type systems and model-checkers) and for automated bug-finders (such as static bug-pattern matchers). To address this problem, I will present three techniques for turning an existing, powerful, but false-positive-ridden, static analysis into a precise tool for automatic bug-finding. First, we will automatically convert the output of a static analysis to concrete JUnit test cases, using constraint solving techniques. We thereby eliminate language-level false bug warnings and make the results easier to understand for human consumers. We will then add a dynamic invariant inference step to also address the harder problem of bug warnings that are technically correct but still irrelevant to the user (these bugs could occur, but only under obscure conditions). Finally, we will adapt dynamic invariant inference to work correctly with subtyping. Previous approaches do not take behavioral subtyping into account and therefore produce imprecise or inconsistent results, which can throw off automated analyses such as the ones we are performing for bug-finding. I have implemented these techniques in the JCrasher, Check 'n' Crash, and DSD-Crasher automatic testing tools, which have been used by multiple research groups. *********************** Biography: Christoph Csallner is currently a Ph.D. candidate at Georgia Tech, advised by Professor Yannis Smaragdakis. He worked on automated bug-finding for Google and Microsoft Research. He has received two Distinguished Paper Awards-the first one at ISSTA 2006 (the ACM SIGSOFT International Symposium on Software Testing and Analysis) and the second one at ASE 2007 (the IEEE/ACM International Conference on Automated Software Engineering). For more information, please visit his web site at http://www.cc.gatech.edu/~csallnch/