A picture of Ding Yuan

Ding Yuan

Address

Department of Electrical and Computer Engineering
University of Toronto
Sandford Fleming 2002E
10 King's College Road
Toronto, ON M5S 3G4

Email

yuan at eecg dot toronto dot edu
divider bar

About Me

I am an Assistant Professor in the Electrical and Computer Engineering Department, University of Toronto. I received my Ph.D from the Computer Science Department of University of Illinois, Urbana-Champaign, under the supervision of a great advisor, Yuanyuan Zhou. From 2009 to 2012 I was also a visiting student in the awesome System and Networking group of University of California, San Diego. I received my B.E. from Beihang University in July, 2006. My CV is here.

(New) I am looking for students to work with me. If you are interested in working with me, please send me an email.

My research interest is software systems and operating systems, with a focus on developing practical solutions to improve the reliability and availability of large systems. My Ph.D. dissertation research focuses on improving the diagnosis of software failures via better design and use of log messages.

Teaching

I am teaching ECE344 Operating System in Winter 2013.

Publications

  • Be Conservative: Enhancing Failure Diagnosis with Proactive Logging [Abstract | PDF | PS | BibTex | Dataset]
    Ding Yuan, Soyeon Park, Peng Huang, Yang Liu, Michael M. Lee, Xiaoming Tang, Yuanyuan Zhou, and Stefan Savage.
    To appear in the Proceedings of the 9th ACM/USENIX Symposium on Operating Systems Design and Implementation (OSDI’12), Hollywood, CA, October 2012
  • Characterising Logging Practices in Open-Source Software [Abstract | PDF | PS | BibTex]
    Ding Yuan, Soyeon Park and Yuanyuan Zhou.
    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]
    Ding Yuan, Jing Zheng, Soyeon Park, Yuanyuan Zhou, and Stefan Savage.
    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]
    Zuoning Yin, Ding Yuan, Yuanyuan Zhou, Shankar Pasupathy and Lakshmi Bairavasundaram.
    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]
    Ding Yuan, Yinglian Xie, Rina Panigrahy, Junfeng Yang, Chad Verbowski and Arunvijay Kumar.
    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]
    Ding Yuan, Jing Zheng, Soyeon Park, Yuanyuan Zhou, and Stefan Savage.
    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]
    Ding Yuan, Haohui Mai, Weiwei Xiong, Lin Tan, Yuanyuan Zhou and Shankar Pasupathy.
    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]
    Ding Yuan, Kyuhyung Lee, Hong Cheng, Gopal Krishna, Zhenmin Li, Xiao Ma, Yuanyuan Zhou and Jiawei Han.
    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.
  • /* iComment: Bugs or Bad Comments? */ [Abstract | PDF | PS | BibTex]
    Lin Tan, Ding Yuan, Gopal Krishna and Yuanyuan Zhou.
    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]
    Lin Tan, Ding Yuan and Yuanyuan Zhou.
    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

Misc

I do a lot of sports, including basketball, swimming (pool and open water), skiing, and running. I served as captain of the Beihang's CSE basketball team and co-captain of the UIUC CS faculty & grad-student basketball team in the intramural games. I also ran some marathon and half-marathons (see a recent photo here). When I have more time, I also play accordion.

divider bar