1. A computer implemented method to predict a failure of a system, the method comprising: in a computer processor, receiving temporal data generated by the system; in the computer processor, incorporating class information indicating whether each of a plurality of example message sequences contained in the temporal data represents a failure into a Bi-directional extension (BIDE) algorithm to generate a discriminative BIDE (BIDE-discriminative) algorithm; using the BIDE-discriminative algorithm to output a single pattern from the message sequences; building a decision tree to predict a failure based on the single pattern, wherein each node in the decision tree comprises a node message sequence and a classifier value corresponding to the node message sequence; determining whether a new message sequence will cause failure of the system using the decision tree by comparing the new message sequence to one or more node message sequences and assigning the corresponding classifier value to the new message sequence based on the comparison; and generating, by the computer processor, a message indicating a predicted failure, if the new message sequence is determined to indicate a cause of failure of the system.