Tag Archives: software_quality

Yuanyuan Zhou, University of California, San Diego – May 2013

YYzhou.jpgReducing Configuration-related Customer Issues via Intent-based Configuration

Professor YY Zhou’s research team will be investigating methods to improve the configuration of systems and allow users to specify intent rather than manually setting various knobs. Such an approach, if successful, would make systems easier to configure and less prone to configuration-related customer issues. This work is a follow-on to a previous collaborative effort with NetApp on characterizing configuration errors in storage systems, which resulted in an .

 

How Do Fixes Become Bugs? — A Comprehensive Characteristic Study on Incorrect Fixes in Commercial and Open Source Operating Systems.

Screen Shot 2012-11-19 at 11.28.46 PM.png Z. Yin, Ding Yuan, Y. Zhou, S. Pasupathy, and L. Bairavasundaram.

This paper presents a comprehensive characteristic study on incorrect bug-fixes from large operating system code bases investigating mistake patterns during bug-fixing and the possible human reasons during development that these incorrect bug-fixes were introduced.

Software bugs affect system reliability. When a bug is exposed in the field, developers need to fix them. Unfortunately, the bug-fixing process can also introduce errors, which leads to buggy patches that further aggravate the damage to end users and erode software vendors’ reputation.

This paper presents a comprehensive characteristic study on incorrect bug-fixes from large operating system code bases including Linux, OpenSolaris, FreeBSD and also a mature commercial OS developed and evolved over the last 12 years, investigating not only the mistake patterns during bug-fixing but also the possible human reasons in the development process when these incorrect bug-fixes were introduced. Our major findings include: (1) at least 14.8% to 24.4% of sampled fixes for post-release bugs in these large OSes are incorrect and have made impacts to end users. (2) Among several common bug types, concurrency bugs are the most difficult to fix correctly: 39% of concurrency bug fixes are incorrect. (3) Developers and reviewers for incorrect fixes usually do not have enough knowledge about the involved code. For example, 27% of the incorrect fixes are made by developers who have never touched the source code files associated with the fix. Our results provide useful guidelines to design new tools and also to improve the development process. Based on our findings, the commercial software vendor whose OS code we evaluated is building a tool to improve the bug fixing and code reviewing process.

Award_icon.jpgThis paper received the ACM SIGSOFT Distinguished Paper Award

 

In proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2011 (FSE’11)

Resources

  • The author’s version of the paper is attached to this posting, please observe the following copyright:

© ACM, 2011. This is the author’s version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in the Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, {ESEC/FSE ’11} https://doi.acm.org/10.1145/2025113.2025121

 

Yuanyuan Zhou, University of California, San Diego – July 2011

YY Zhou.jpgUnderstanding and Detecting Misconfigurations

Misconfigurations cause severe problem to system availability. For example, a recent misconfiguration caused a long outage at a major social networking site, which made its 500 million users unable to access its service for several hours. Last year, a misconfiguration brought down the whole “.se” domain which contains almost 1 million addresses for more than one hour.

After analyzing several 1000 cases in a enterprise system providers’ customer support database, we found that 25% of support cases are directly due to misconfigurations. This number is far higher than software bugs which account for 5% of all cases. Current research is now focused on using the results of the characterestic study to come up with techniques to automatically detect and prevent misconfigurations.

 

Yuanyuan Zhou, University of California, San Diego – July 2010

YYzhou.jpgMake Software Easy-to-Diagnose via Systematic Logging Enhancement

Logs are a valuable source of clues about why a system has misbehaved or failed. There have been past studies about using logs to automatically troubleshoot customer problems and these studies have shown that this is very challenging for several reasons. First, log messages tend to be an afterthought and are often poorly formatted. Second, it is difficult to understand log messages across modules. Third, log messages might miss vital information that could have helped resolve a problem quickly.

This project will study how to enhance log messages so that they aid in the quick and automatic resolution of customer problems.