中文

ConfInLog:利用软件日志推断配置约束

软件工程 2021-03-23 v1

摘要

近年来,错误配置已成为软件故障的主导原因,因其日益普遍与严重而备受关注。配置约束可通过定义配置选项应满足的条件来 preemptively 避免错误配置。文档是配置约束的主要来源,但可能不完整或与源代码不一致。对此,先前研究聚焦于通过静态分析从软件源代码获取配置约束。然而,指针分析与上下文理解的困难阻碍了其收集准确且全面的约束。本文中,我们观察到软件日志常包含配置约束。我们开展了实证研究并总结了配置相关日志消息的模式。受该研究的指导,我们设计实现了 ConfInLog,一种从日志消息推断配置约束的静态工具。ConfInLog 首先利用总结的模式从源代码选取配置相关日志消息,随后基于总结的自然语言模式从日志消息推断约束。为评估 ConfInLog 的有效性,我们将该工具应用于七个流行的开源软件系统。ConfInLog 成功推断 22 至 163 条约束,其中 59.5% 至 61.6% 无法被最先进工作推断。最后,我们提交了 67 个关于 ConfInLog 推断约束的文档补丁。其中 29 个补丁的约束已被开发者确认,10 个补丁已被接受。

关键词

引用

@article{arxiv.2103.11561,
  title  = {ConfInLog: Leveraging Software Logs to Infer Configuration Constraints},
  author = {Shulin Zhou and Xiaodong Liu and Shanshan Li and Zhouyang Jia and Yuanliang Zhang and Teng Wang and Wang Li and Xiangke Liao},
  journal= {arXiv preprint arXiv:2103.11561},
  year   = {2021}
}