Constraint-Driven Fault Diagnosis (CDD) is based on the concept of constraint suspension [6], which was proposed as an approach to fault detection and diagnosis. In this chapter, its capabilities are demonstrated by describing how it might be applied to hardware systems. With this idea, a model-based fault diagnosis problem may be considered as a Constraint Satisfaction Problem (CSP) in order to detect any unexpected behavior and Constraint Satisfaction Optimization Problem (COP) in order to identify the reason for any unexpected behavior because the parsimony principle is taken into account.In order to automate the CDD, in an efficient way, different techniques for solving these CSP/COPs could be considered. The first to be considered is related to the mathematical properties of the semiring CSP [26], where efficient diagnosis solutions are obtained decomposing the problem into trees applying dynamic programming. The second one is related to the solving of overconstrained CSPs and identification of conflicts [1,20,24]. The third approach [14, 15] uses a known symbolic technique called as Gröbner basis, that allows obtaining automatically, in certain cases, the Analytic Redundancy Restrictions which are used in Fault Detection and Identification (FDI) paradigm. The last efficient technique is related to specific clustering techniques that allow decomposing the original model-based diagnosis in several simpler problems and the computational complexity is reduced in a significant way.