Failure assertion programming
Failure assertion programming uses executable pre/post-condition checks to stop software from silently violating assumptions. In IEC 61508 contexts, it targets systematic failures: if a contract is broken at runtime, the system logs the violation and triggers a defined SAFE REACTION (e.g., inhibit actuation or hold last safe output). Use it on safety-critical interfaces and control paths; keep checks enabled in release builds. Includes a C/C++ example.