Improving Configuration Troubleshooting with Dynamic Information Flow Analysis


March 22, 2012


Mona Attariyan


University of Michigan


Complex software systems are difficult to configure and manage. When problems inevitably arise, operators spend considerable time troubleshooting those problems. Even for casual compute users, troubleshooting is often enormously frustrating. I focus specifically on configuration errors, in which the application code is correct, but the software has been configured incorrectly so that it does not behave as desired. For instance, a mistake in a configuration file may lead software to crash, produce undesired output, or run with degraded performance.

In this talk, I show that system support for dynamic information flow analysis can substantially simplify and reduce the human effort needed to troubleshoot software systems. I present ConfAid, and X-ray, two diagnosis tools that use dynamic information flow analysis to identify the likely root cause of a configuration problem. ConfAid diagnoses configuration problems that lead to crashes, and undesired outcome; while X-ray focuses on diagnosing misconfigurations that cause performance problems. The output of these tools is an ordered list of the configuration tokens most likely to have caused the exhibited problem. I show that troubleshooting using information flow analysis only takes a few minutes to complete, which is much faster and far less labor-intensive compared to manual troubleshooting.


Mona Attariyan

Mona Attariyan is a Ph.D. candidate in the Computer Science Department at the University of Michigan, Ann Arbor. She received her B.Sc. degree in Computer Science and Engineering from Sharif University of Technology in Iran, in 2005, and M.S.E. in Computer Science and Engineering from the University of Michigan in 2007. Her research interests lie in the general area of software systems, with an emphasis on operating systems and software reliability. In particular, she has focused on the problem of software misconfiguration troubleshooting. The goal of her research has been to automate the process of misconfiguration diagnosis and repair as much as possible. She is also interested in tools that analyze the reliability of large distributed systems.