1. One or more processor-readable storage device storing computer-executable instructions for causing one or more processors to perform a method, the method comprising: with the one or more processors, receiving information of a circuit design for one or more integrated circuit devices and failure information of the one or more integrated circuit devices generated by applying test patterns to the one or more integrated circuit devices; extracting a sub-circuit from the circuit design based on the failure information, the sub-circuit comprising one or more portions of the circuit design that include one or more defects in the one or more integrated circuit devices; and performing fault diagnosis on the sub-circuit to generate diagnosis data based on the test patterns and the failure information, wherein performing the fault diagnosis comprises generating a first set of defect suspects based on path tracing, and generating a second set of defect suspects based on the first set of defect suspects and failing pattern validation; and outputting the diagnosis data.