Anyone who’s worked with distributed systems knows there are far too many opportunities for something to go wrong. Kairux is a fault localization tool for Java-based systems, one that uses unit testing and adaptive dynamic slicing to work backward from the failure execution to identify what went wrong and why. By implementing the Inflection Point Hypothesis — that the root cause of any failure is also the step where a failure execution and successful execution diverge — Kairux can identify the bug and present the source code needed to understand why it happened.

So, the best way to pinpoint the inflection point is to find the successful execution with the longest common prefix to the failure execution. The inflection point holds significance as the last step in the failure execution where failure is still avoidable.

Related Articles