一句话:提出 Investigator,利用 Arm ETM 硬件追踪与轻量事件捕获,实现低开销的故障诊断与缺陷定位。
实际系统中的故障诊断十分困难:开发者可获得的信息有限,难以定位甚至修复相关缺陷;开发环境与生产环境差异较大,故障难以复现,竞态条件或意外输入等非确定性事件更增加难度。为此,本文提出 Investigator——面向 Arm 平台的实用故障诊断框架。它在运行时借助 Arm 嵌入式追踪宏单元(ETM)和轻量级事件捕获器,以低开销收集执行信息;再结合所采集的 trace 进行分析,识别与故障原因相关的控制流和数据流,从而辅助开发者修复缺陷。作者实现了原型,并用真实世界缺陷进行评估,结果表明 Investigator 能有效且高效地诊断这些缺陷,同时运行时性能开销较低。
Failure diagnosis in practical systems is difficult, and the main obstacle is that the information a developer has access to is limited. This information is usually not enough to help developers fix or even locate the related bug. Moreover, due to the vast difference between the development and production environments, it is not trivial to reproduce failures from the production environment in the development environment. When failures are caused by non-deterministic events such as race conditions or unforeseen inputs, reproducing them is even more challenging. In this paper, we present Investigator, a failure diagnosis framework for practical systems running on Arm. At runtime, Investigator leverages the hardware tracing component called Embedded Trace Macrocell (ETM) and a lightweight event capturer to collect information with low overhead. With the collected trace and analysis, Investigator identifies the control and data flow related to the cause of a failure, which helps developers in bug fixing. We implemented a prototype of Investigator and evaluated it with real-world bugs. The results show that Investigator diagnoses these bugs effectively and efficiently while introducing a low performance overhead at runtime.
@inproceedings{ZhangH0SNLZ23,
title = {Alligator in Vest: A Practical Failure-Diagnosis Framework via Arm Hardware Features},
author = {Yiming Zhang and Yuxin Hu and Haonan Li and Wenxuan Shi and Zhenyu Ning and Xiapu Luo and Fengwei Zhang},
booktitle = {ISSTA},
year = {2023},
doi = {10.1145/3597926.3598106}
}