Automated diagnosis of software configuration errors

Download: PDF, slides (PDF), slides (PowerPoint), ConfDiagnoser implementation.

“Automated diagnosis of software configuration errors” by Sai Zhang and Michael D. Ernst. In ICSE 2013, Proceedings of the 35th International Conference on Software Engineering, (San Francisco, CA, USA), May 2013, pp. 312-321.

Abstract

The 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.

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.

Download: PDF, slides (PDF), slides (PowerPoint), ConfDiagnoser implementation.

BibTeX entry:

@inproceedings{ZhangE2013,
   author = {Sai Zhang and Michael D. Ernst},
   title = {Automated diagnosis of software configuration errors},
   booktitle = {ICSE 2013, Proceedings of the 35th International
	Conference on Software Engineering},
   pages = {312--321},
   address = {San Francisco, CA, USA},
   month = may,
   year = {2013}
}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.