1. A method, comprising: operating, by at least one data processor, on a program of interest represented as a sequence of states comprising variables and flags, where controls transition the program of interest from state to state, where the program of interest comprises tests at prescribed locations in the program of interest that are applied upon specific states and generates observables, and where operating on the program of interest comprises inserting, by the at least one data processor, at different points in the program of interest, hooks that capture program runtime behaviors constituting classification features; flattening, by the at least one data processor, the sequence of states of the program of interest, commands, and tests along a program run-time timeline; and identifying, by the at least one data processor, a root cause of a program failure by backtrack analyzing a stream of input states and commands and output consequent states, commands, and test results to detect causal correlations between variables, states, and commands, where the step of backtrack analyzing comprises determining, by the at least one data processor, joint conditional probabilities and identifying, by the at least one data processor, candidate failure root causes that maximize conditional probabilities.