一句话:提出配置模式挖掘,利用程序合成与字符串剖析从提交历史中学习配置规则,并构建 ConfMiner 检测异常配置。
大型服务依赖大量且不断增长的配置文件和参数,配置错误会导致运行异常,但配置参数合法值通常未文档化,只存在于少数专家经验中。本文提出“配置模式挖掘”问题:从示例中学习配置规则。作者结合程序合成与一种新的字符串剖析(string profiling)算法,利用配置文件内容及提交历史学习配置模式,并实现工具 ConfMiner。该工具在四个包含某大型企业服务配置的大型代码仓库上评估,结果显示能学习多种配置规则,且具有高精度,能有效标记异常配置。
Large services depend on correct configuration to run efficiently and seamlessly. Checking such configuration for correctness is important because services use a large and continuously increasing number of configuration files and parameters. Yet, very few such tools exist because the permissible values for a configuration parameter are seldom specified or documented, existing at best as tribal knowledge among a few domain experts.In this paper, we address the problem of configuration pattern mining: learning configuration rules from examples. Using program synthesis and a novel string profiling algorithm, we show that we can use file contents and histories of commits to learn patterns in configuration. We have built a tool called ConfMiner that implements configuration pattern mining and have evaluated it on four large repositories containing configuration for a large-scale enterprise service. Our evaluation shows that ConfMiner learns a large variety of configuration rules with high precision and is very useful in flagging anomalous configuration.
DOI 原文 ·
@inproceedings{paperbot6518,
title = {Learning Patterns in Configuration},
author = {Ranjita Bhagwan and Sonu Mehta and Arjun Radhakrishna and Sahil Garg},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678525}
}