论文标题

在具有符号执行的大型系统中的自动推理和检测

Automated Reasoning and Detection of Specious Configuration in Large Systems with Symbolic Execution

论文作者

Hu, Yigong, Huang, Gongqi, Huang, Peng

论文摘要

配置错误是系统故障的主要原因。先前的解决方案着重于检测由用户错误引入的无效设置。但是,继续困扰生产服务的另一种类型的错误配置是出色的配置 - 有效但导致生产的表现较差。这种错误的配置是微妙的,因此即使是仔细的管理员也可能无法预见它们。 我们提出了一种称为紫罗兰色的工具,以检测这种错误配置。我们意识到,奇异的配置的症结在于,它会导致某些慢速代码路径被执行,但是不能总是触发不良的性能效果。因此,紫罗兰采用了一种新颖的方法,该方法使用选择性符号执行来系统地推理了配置参数的性能效应,它们的组合效果以及与输入的关系。紫罗兰为自动检测不良配置设置的绩效影响模型输出。我们将紫罗兰色应用于四个大型系统。为了评估紫罗兰色的有效性,我们收集了17个现实世界中奇异的配置案例。紫罗兰检测到其中15个。紫罗兰还标识了9条未知的奇异配置。

Misconfiguration is a major cause of system failures. Prior solutions focus on detecting invalid settings that are introduced by user mistakes. But another type of misconfiguration that continues to haunt production services is specious configuration--settings that are valid but lead to unexpectedly poor performance in production. Such misconfigurations are subtle, so even careful administrators may fail to foresee them. We propose a tool called Violet to detect such misconfiguration. We realize the crux of specious configuration is that it causes some slow code path to be executed, but the bad performance effect cannot always be triggered. Violet thus takes a novel approach that uses selective symbolic execution to systematically reason about the performance effect of configuration parameters, their combination effect, and the relationship with input. Violet outputs a performance impact model for the automatic detection of poor configuration settings. We applied Violet on four large systems. To evaluate the effectiveness of Violet, we collect 17 real-world specious configuration cases. Violet detects 15 of them. Violet also identifies 9 unknown specious configurations.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源