About Me
I am a Ph.D. candidate in the Computer Science Department, University of Illinois, Urbana-Champaign. My advisor is Prof. Yuanyuan Zhou. I am also a visiting student in the System and Networking group of University of California, San Diego. I received my B.S. from Beihang University in July, 2006.
I will graduate in the summer of 2012. Currently I am looking for academic and industrial positions. My CV is here.
My research interests include systems, program analysis, software engineering, and data mining. My thesis research focuses on improving the diagnosis of computer failures via better design and use of log messages.
Publications
-
Characterising Logging Practices in Open-Source
Software
[Abstract | PDF | PS | BibTex]
To appear in the Proceedings of the 34th International Conference on Software Engineering (ICSE'12), Zurich, Switzerland, June 2012 -
Improving Software Diagnosability via Log Enhancement
[Abstract | PDF | PS | BibTex]
To appear in the ACM Transactions on Computer Systems (TOCS), Februray 2012.
This is fast-forwarded from our ASPLOS'11 paper. -
How Do Fixes Become Bugs? -- A Comprehensive Characteristic Study on
Incorrect Fixes in Commercial and Open Source Operating Systems
[Abstract |
PDF |
PS |
BibTex]
In the proceedings of the 19th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE'11), pages 26-36, September 2011.
ACM SIGSOFT Distinguished Paper Award
Studies a unique type of bugs — bugs introduced by incorrect bug-fixes. It studies the patterns of the incorrect fixes as well as the human reasons. Based on our findings, a commercial software vendor is building a tool to improve the bug fixing and code reviewing process. -
Context-based Online Configuration-Error Detection
[Abstract |
PDF |
PS |
BibTex]
In the 2011 Usenix Annual Technical Conference (USENIX'11), pages 313-326, Portland, OR., June 2011.
Describes CODE — a system for automatically detecting software configuration errors. The key insight is to infer configuration access invariants that predict what access events follow what contexts. -
Improving Software Diagnosability via Log Enhancement
[Abstract |
PDF |
PS |
BibTex]
In the Proceedings of the 16th International Conference on Architecture Support for Programming Language and Operating Systems (ASPLOS'11), pages 3-14, Newport Beach, CA., March 2011.
Nominated for Best Paper Award
Log messages are extremely important for diagnosing production failures, yet the information they contain are frequehtly insufficient for detailed failure diagnosis. We describe LogEnhancer — a system that automatically “enhance” each log message within a program to aid in future post-failure debugging. LogEnhancer has been requested by many large vendors including Qualcomm, NetApp, Huawei, etc. -
SherLog: Error Diagnosis by Connecting Clues from Run-time Logs
[Abstract |
PDF |
PS |
BibTex]
In the Proceedings of the 15th International Conference on Architecture Support for Programming Language and Operating Systems (ASPLOS'10), pages 143-154, Pittsburgh, PA., March 2010.
Nominated for Best Paper Award
Describes SherLog — a system that automates programmers' manual debugging efforts to infer the partial execution information from the source code and log messages (e.g., “printf-debugging”). SherLog is requested by many large vendors including Qualcomm, EMC, NetApp, Cisco, Huawei, etc. -
CISpan: Comprehensive Incremental Mining Algorithms of Closed Sequential Patterns for Multi-Versional Software Mining
[Abstract |
PDF |
PS |
BibTex]
In the Proceedings of the 2008 SIAM International Conference on Data Mining (SDM'08), pages 84-95, Atlanta, Georgia, April 2008.
Describes a new incremental mining algorithm for frequent sequential pattern. It outperforms the previous incremental algorithms in both comprehensiveness and speed. It is transfered to PatternInsight, Inc. -
/* iComment: Bugs or Bad Comments? */
[Abstract |
PDF |
PS |
BibTex]
In the Proceedings of the 21st ACM Symposium on Operating Systems Principles (SOSP'07), pages 145-158, October 2007.
Uses both program analysis and NLP to detect inconsistencies between source code and code comments. Such inconsistencies can either be bugs or bad comments that might mislead programmers. -
HotComments: How to Make Program Comments More Useful?
[Abstract |
PDF |
PS |
BibTex]
In the Proceedings of the 11th Workshop on Hot Topics in Operating Systems (HotOS), May 2007. San Diego, California, pages 19:1-19:6
A position paper describing the idea of analyzing code comments to detect inconsistencies between comments and source code. Such inconsistencies might either be bugs or bad comments — which might mislead programmers and result into future bugs.
Selected Awards and Honors
- ACM SIGSOFT Distinguished Paper Award, 2011
- Best paper award nominee and invited publication to ACM Transaction on Computer Systems, ASPLOS 2011
- Best paper award nominee, ASPLOS 2010
- Outstanding Teaching Assistant, Computer Science Department, UIUC, Spring 2008
- Saburo Muroga Fellowship, UIUC
- Gold Medal Prize in Beihang University, 2005. Highest honor for undergraduate students in Beihang University. Only 8 out of 14,580 undergraduate students were honored in 2005. Representive of the 8 gold medalists to deliver a speech in the award ceremony.
- Outstanding undergraduate thesis, computer science and engineering department, Beihang University, 2006

