Fault attacks are a serious threat to the security of embedded systems. To address this threat, the code can be hardened by inserting software protections aiming to detect or tolerate the faults. The resulting robustness of the code must be assessed. In this thesis, we present an approach combining static and dynamic code analysis with formal verification as well as a set of metrics to assess the robustness of binaries under faults attacks. Our approach models the vulnerabilities search by equivalence-checking problems solved through SMT solving. The proposed approach has been implemented into a tool, RobustB, which analyse the robustness of the code and, thanks to the metrics, which allows the compare the robustness of codes exposing different protections and/or compiled with different compilers and/or at different optimisation levels.