ConfInLog: Leveraging Software Logs to Infer Configuration Constraints
Authors:
- 1 May 2021
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 94-105
Abstract
Misconfigurations have become the dominant causes of software failures in recent years, drawing tremendous attention for their increasing prevalence and severity. Configuration constraints can preemptively avoid misconfiguration by defining the conditions that configuration options should satisfy. Documentation is the main source of configuration constraints, but it might be incomplete or inconsistent with the source code. In this regard, prior researches have focused on obtaining configuration constraints from software source code through static analysis. However, the difficulty in pointer analysis and context comprehension prevents them from collecting accurate and comprehensive constraints. In this paper, we observed that software logs often contain configuration constraints. We conducted an empirical study and summarized patterns of configuration-related log messages. Guided by the study, we designed and implemented ConfInLog, a static tool to infer configuration constraints from log messages. ConfInLog first selects configuration-related log messages from source code by using the summarized patterns, then infers constraints from log messages based on the summarized natural language patterns. To evaluate the effectiveness of ConfInLog, we applied our tool on seven popular open-source software systems. ConfInLog successfully inferred 22~163 constraints, in which 59.5%~ 61.6% could not be inferred by the state-of-the-art work. Finally, we submitted 67 documentation patches regarding the constraints inferred by ConfInLog. The constraints in 29 patches have been confirmed by the developers, among which 10 patches have been accepted.Keywords
All Related Versions
Funding Information
- National Natural Science Foundation of China
This publication has 36 references indexed in Scilit:
- Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software2015
- Proactive detection of inadequate diagnostic messages for software configuration errors2015
- Predicting Program Properties from "Big Code"ACM SIGPLAN Notices, 2015
- Code completion with statistical language models2014
- Mining configuration constraints: static analyses and empirical results2014
- EnCore2014
- Do not blame users for misconfigurations2013
- An empirical study on configuration errors in commercial and open source systems2011
- Detecting and resolving policy misconfigurations in access-control systemsACM Transactions on Information and System Security, 2011
- Are disks the dominant contributor for storage failures?ACM Transactions on Storage, 2008