Automatically Generating Predicates and Solutions for Configuration Troubleshooting
Ya-Yunn Su and Jason Flinn
Abstract
Technical support contributes 17% of the total cost of ownership of
today's desktop computers, and troubleshooting misconfigurations is a
large part of technical support. For information systems,
administrative expenses, made up almost entirely of people costs,
represent 60-80% of the total cost of ownership. Prior work has
created promising tools that automate troubleshooting, thereby saving
users time and money. However, these tools assume the existence of
predicates, which are test cases painstakingly written by an expert.
Since both experts and time are in short supply, obtaining predicates
is difficult. In this paper, we propose a new method of creating
predicates that infers predicates by observing the actions of ordinary
users troubleshooting misconfigurations. We report on the results of
a user study that evaluates our proposed method. The main results
were: (1) our method inferred predicates for all configuration bugs
studied with very few false positives, (2) using multiple traces
improved results, and, surprisingly, (3) our method identified the
correct solutions applied by users who fixed the misconfigurations in
the study.