TitleAutomated diagnosis of software configuration errors
Publication TypeConference Paper
Year of Publication2013
AuthorsZhang S, Ernst MD
Conference NameICSE 2013, Proceedings of the 35th International Conference on Software Engineering
Pagination312–321
Date or Month PublishedMay
Conference LocationSan Francisco, CA, USA
AbstractThe behavior of a software system often depends on how that system is configured. Small configuration errors can lead to hard-to-diagnose undesired behaviors. We present a technique (and its tool implementation, called ConfDiagnoser) to identify the root cause of a configuration error –- a single configuration option that can be changed to produce desired behavior. Our technique uses static analysis, dynamic profiling, and statistical analysis to link the undesired behavior to specific configuration options. It differs from existing approaches in two key aspects: it does not require users to provide a testing oracle (to check whether the software functions correctly) and thus is fully automated; and it can diagnose both crashing and non-crashing errors. \par We evaluated ConfDiagnoser on 5 non-crashing configuration errors and 9 crashing configuration errors from 5 configurable software systems written in Java. On average, the root cause was ConfDiagnoser's fifth-ranked suggestion; in 10 out of 14 errors, the root cause was one of the top 3 suggestions; and more than half of the time, the root cause was the first suggestion.
Downloadshttps://github.com/zhang-sai/config-errors ConfDiagnoser implementation https://homes.cs.washington.edu/~mernst/pubs/configuration-errors-icse20... PDF https://homes.cs.washington.edu/~mernst/pubs/configuration-errors-icse20... slides (PDF)
Citation KeyZhangE2013