Developer Tools

SequenceFI: Temporal Fault Injection Boosts Microservice Resilience Testing

100% temporal accuracy with 95.91% faster search – no code changes needed.

Deep Dive

Fault injection is critical for testing microservice resilience, but existing request-level tools control where and what faults occur—not when. This prevents reproducing timing-dependent failures like state-changing side effects or order-sensitive concurrent responses. SequenceFI solves this by observing send/receive events, propagating compact temporal evidence along execution traces, and triggering faults only when occurrence-sensitive temporal guards are met. It synthesizes these guards from traces, eliminating exhaustive enumeration, and requires no changes to application code or serialization libraries.

Implemented on Kubernetes, SequenceFI was tested across four microservice benchmarks with nine temporal-fault scenarios and 450 valid trials. Results show 100% temporal success (no premature or multiple injections), finding effective configurations in a single attempt on average, and reducing aggregate end-to-end search time by 95.91% compared to the H-Random baseline. This enables developers to reliably reproduce subtle, timing-dependent failures and improve microservice resilience without operational overhead.

Key Points
  • SequenceFI achieves 100% temporal success in 450 trials across four microservice benchmarks on Kubernetes.
  • Reduces aggregate end-to-end search time by 95.91% compared to H-Random baseline.
  • Requires no modifications to application code or serialization libraries; temporal guards synthesized from traces.

Why It Matters

Enables reliable reproduction of timing-dependent microservice failures, drastically cutting testing time and improving production resilience.

📬 Get the top 10 AI stories daily