一句话:首个对容器运行时系统缺陷的大规模实证研究,建立症状与根因分类并评估测试能力。
容器运行时系统(CRS)是容器云的基础设施,但其实现中的质量缺陷仍缺乏系统认识。本文开展首个 CRS 缺陷综合实证研究:从 runc、gvisor、containerd、cri-o 等 8 个主流 CRS 项目的 8,271 次提交中收集 429 个缺陷,通过人工分析建立包含 16 类症状和 13 类根因的分类法,并评估单元测试、集成测试与模糊测试对这些缺陷的检测能力。结果表明,78.79% 的缺陷无法被现有流行测试方法检测,主要原因是缺少测试驱动、测试预言和有效测试用例。基于这些发现,本文为 CRS 领域的不同参与者提出启示与未来研究方向,为后续缺陷检测研究奠定基础。
Container Runtime Systems (CRSs), which form the foundational infrastructure of container clouds, are critically important due to their impact on the quality of container cloud implementations. However, a comprehensive understanding of the quality issues present in CRS implementations remains lacking. To bridge this gap, we conduct the first comprehensive empirical study of CRS bugs. Specifically, we gather 429 bugs from 8,271 commits across dominant CRS projects, including runc, gvisor, containerd, and cri-o. Through manual analysis, we develop taxonomies of CRS bug symptoms and root causes, comprising 16 and 13 categories, respectively. Furthermore, we evaluate the capability of popular testing approaches, including unit testing, integration testing, and fuzz testing in detecting these bugs. The results show that 78.79% of the bugs cannot be detected due to the lack of test drivers, oracles, and effective test cases. Based on the findings of our study, we present implications and future research directions for various stakeholders in the domain of CRSs. We hope that our work can lay the groundwork for future research on CRS bug detection.
@inproceedings{paperbot8590,
title = {Bugs in Pods: Understanding Bugs in Container Runtime Systems},
author = {Jiongchi Yu and Xiaofei Xie and Cen Zhang and Sen Chen and Yuekang Li and Wenbo Shen},
booktitle = {ISSTA},
year = {2024},
doi = {10.1145/3650212.3680366}
}