Fault Injection via Code Mutation for Dependability Assessment in Cloud Environments
Software fault injection assesses the resilience of complex systems, especially in cloud environments with multiple interdependent components. Since many software releases contain bugs not detected by traditional testing, this technique simulates realistic failures (e.g., by code mutation) to observe system behavior under defects, identify vulnerabilities before production, and understand how failures propagate. This paper presents CIMut, a fault injection tool through source code mutation in cloud environments, publicly available as a web application. The proposed approach was evaluated through an experimental study on the OpenStack cloud platform. A total of 62 experiments were performed on OpenStack, each injecting faults into different system components. The study showed that 96.7% of the injected faults resulted in bugs, classified as explicit errors (crashes, exceptions) or bugs with functional impact (incorrect behavior, data loss). These results demonstrate that the CIMut tool can generate representative faults that can be used to assess the resilience of complex software systems such as OpenStack.