In this paper, we present a novel fault injection framework for system call invocation errors, called Phoebe. Phoebe is unique as follows. First, Phoebe enables developers to have full observability of system call invocations. Second, Phoebe generates error models that are realistic in the sense that they mimic errors that naturally happen in production. Third, Phoebe is able to automatically conduct experiments to systematically assess the reliability of applications with respect to system call invocation errors in production. We evaluate the effectiveness and runtime overhead of Phoebe on two real-world applications in a production environment. The results show that Phoebe successfully generates realistic error models and is able to detect important reliability weaknesses with respect to system call invocation errors. To our knowledge, this novel concept of "realistic error injection", which consists of grounding fault injection on production errors, has never been studied before.
翻译:在本文中,我们提出了一个称为Phoebe. Phoebe 的系统呼叫援引错误的新型错误注入框架。 Phoebe 具有以下独特性。 首先, Phoebe 使开发者能够完全看得懂系统呼叫引用职业。 第二, Phoebe 生成了现实的错误模型, 其含义是它们模仿生产过程中自然发生的错误。 第三, Phoebe 能够自动进行实验, 系统评估系统呼叫援引生产错误应用应用的可靠性。 我们评估了Phoebe 在生产环境中两种现实世界应用中的有效性和运行时间。 结果显示, Phoebe 成功地生成了现实的错误模型, 并且能够发现系统呼叫引用错误方面的重要可靠性缺陷。 据我们所知, 由生产错误造成错误的错误注入为根据的新概念, 从未进行过研究。