Maximizing Error Injection Realism for Chaos Engineering with System Calls
arXiv:2006.04444 · doi:10.1109/TDSC.2021.3069715
Abstract
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.
References in corpus (8)
- Chaos Engineering
- Observability and Chaos Engineering on System Calls for Containerized Applications in Docker
- A Chaos Engineering System for Live Analysis and Falsification of Exception-handling in the JVM
- ProFIPy: Programmable Software Fault Injection as-a-Service
- Fault Injection Analytics: A Novel Approach to Discover Failure Modes in Cloud-Computing Systems
- DICE Fault Injection Tool
- Exhaustive Exploration of the Failure-oblivious Computing Search Space
- TripleAgent: Monitoring, Perturbation and Failure-obliviousness for Automated Resilience Improvement in Java Applications
Cited by in corpus (5)
- Chaos Engineering of Ethereum Blockchain Clients
- Informed and Assessable Observability Design Decisions in Cloud-native Microservice Applications
- OXN -- Automated Observability Assessments for Cloud-Native Applications
- "Let it be Chaos in the Plumbing!" Usage and Efficacy of Chaos Engineering in DevOps Pipelines
- Highly Available Blockchain Nodes With N-Version Design