Affiliation:
1. Yale University, USA
2. Alibaba Group, USA
3. University of Illinois at Urbana-Champaign, USA
Abstract
The behavior of large systems is guided by their configurations: users set parameters in the configuration file to dictate which corresponding part of the system code is executed. However, it is often the case that, although some parameters are set in the configuration file, they do not influence the system runtime behavior, thus failing to meet the user’s intent. Moreover, such misconfigurations rarely lead to an error message or raising an exception. We introduce the notion of silent misconfigurations which are prohibitively hard to identify due to (1) lack of feedback and (2) complex interactions between configurations and code.
This paper presents ConfigX, the first tool for the detection of silent misconfigurations. The main challenge is to understand the complex interactions between configurations and the code that they affected. Our goal is to derive a specification describing non-trivial interactions between the configuration parameters that lead to silent misconfigurations. To this end, ConfigX uses static analysis to determine which parts of the system code are associated with configuration parameters. ConfigX then infers the connections between configuration parameters by analyzing their associated code blocks. We design customized control- and data-flow analysis to derive a specification of configurations. Additionally, we conduct reachability analysis to eliminate spurious rules to reduce false positives. Upon evaluation on five real-world datasets across three widely-used systems, Apache, vsftpd, and PostgreSQL, ConfigX detected more than 2200 silent misconfigurations. We additionally conducted a user study where we ran ConfigX on misconfigurations reported on user forums by real-world users. ConfigX easily detected issues and suggested repairs for those misconfigurations. Our solutions were accepted and confirmed in the interaction with the users, who originally posted the problems.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference76 articles.
1. 2012. Silent misconfiguration: Advanced Ordering. https://stackoverflow.com/questions/9943042/htaccess-order-deny-allow-deny 2012. Silent misconfiguration: Advanced Ordering. https://stackoverflow.com/questions/9943042/htaccess-order-deny-allow-deny
2. 2014. Silent misconfiguration: Implicit Overwrite. https://stackoverflow.com/questions/21338450/conditional-request-not-honored-in-includes 2014. Silent misconfiguration: Implicit Overwrite. https://stackoverflow.com/questions/21338450/conditional-request-not-honored-in-includes
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Ctest4J: A Practical Configuration Testing Framework for Java;Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering;2024-07-10
2. Keeper: Automated Testing and Fixing of Machine Learning Software;ACM Transactions on Software Engineering and Methodology;2024-06-13
3. Misconfiguration in O-RAN: Analysis of the impact of AI/ML;Computer Networks;2024-06
4. PyDex: Repairing Bugs in Introductory Python Assignments using LLMs;Proceedings of the ACM on Programming Languages;2024-04-29
5. Parallel Assembly Synthesis;Lecture Notes in Computer Science;2024