An empirical study on configuration errors in commercial and open source systems
- 23 October 2011
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 159-172
- https://doi.org/10.1145/2043556.2043572
Abstract
Configuration errors (i.e., misconfigurations) are among the dominant causes of system failures. Their importance has inspired many research efforts on detecting, diagnosing, and fixing misconfigurations; such research would benefit greatly from a real-world characteristic study on misconfigurations. Unfortunately, few such studies have been conducted in the past, primarily because historical misconfigurations usually have not been recorded rigorously in databases. In this work, we undertake one of the first attempts to conduct a real-world misconfiguration characteristic study. We study a total of 546 real world misconfigurations, including 309 misconfigurations from a commercial storage system deployed at thousands of customers, and 237 from four widely used open source systems (CentOS, MySQL, Apache HTTP Server, and OpenLDAP). Some of our major findings include: (1) A majority of misconfigurations (70.0%~85.5%) are due to mistakes in setting configuration parameters; however, a significant number of misconfigurations are due to compatibility issues or component configurations (i.e., not parameter-related). (2) 38.1%~53.7% of parameter mistakes are caused by illegal parameters that clearly violate some format or rules, motivating the use of an automatic configuration checker to detect these misconfigurations. (3) A significant percentage (12.2%~29.7%) of parameter-based mistakes are due to inconsistencies between different parameter values. (4) 21.7%~57.3% of the misconfigurations involve configurations external to the examined system, some even on entirely different hosts. (5) A significant portion of misconfigurations can cause hard-to-diagnose failures, such as crashes, hangs, or severe performance degradation, indicating that systems should be better-equipped to handle misconfigurations.Keywords
Funding Information
- Division of Computer and Network Systems (CNS-0720743CCF-0325603CNS-0615372CNS-03478541017784)
- Division of Computing and Communication Foundations (CNS-0720743CCF-0325603CNS-0615372CNS-03478541017784)
This publication has 17 references indexed in Scilit:
- Static extraction of program configuration optionsPublished by Association for Computing Machinery (ACM) ,2011
- Improving software diagnosability via log enhancementPublished by Association for Computing Machinery (ACM) ,2011
- Learning from mistakesPublished by Association for Computing Machinery (ACM) ,2008
- AutoBashPublished by Association for Computing Machinery (ACM) ,2007
- Improved error reporting for software that uses black-box componentsPublished by Association for Computing Machinery (ACM) ,2007
- Automatic configuration of internet servicesPublished by Association for Computing Machinery (ACM) ,2007
- Improving user-interface dependability through mitigation of human errorInternational Journal of Human-Computer Studies, 2005
- A comparison of software defects in database management systems and operating systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Software defects and their impact on system availability-a study of field failures in operating systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- An empirical study of operating systems errorsPublished by Association for Computing Machinery (ACM) ,2001