Formal Verification of Embedded Software for SIL-4 Safety Systems

Author: Thom Lijn March 15, 2024

At Codewit Solutions, we specialize in the formal verification of embedded software for safety-critical systems, such as railway signals and bridge controls. Our methodology guarantees that control algorithms function flawlessly under all conditions, up to and including the highest Safety Integrity Level (SIL-4).

Static Code Analysis and Mathematical Proof

The core of our approach consists of advanced static code analysis combined with mathematical proof. This allows us to model and verify every possible execution path of the software, long before the code is implemented in the physical system.

// Example of verified state logic
if (sensor_input == SAFE) {
    set_signal(GREEN);
} else if (sensor_input == WARNING) {
    set_signal(YELLOW);
} else {
    // Unexpected state - safe shutdown
    initiate_safe_shutdown();
    log_error(ERROR_CODE_UNEXPECTED_INPUT);
}

Through these rigorous processes, we eliminate the chance of runtime errors that could lead to catastrophic system failure. Our verification reports are used to comply with strict standards such as EN 50128 for railway applications.

Binary-Green Logic in Practice

The binary principle (good/faulty, safe/unsafe) is visually translated into a green theme in our verification dashboards. A successful verification results in a "green light" for the next development phase.

Comments

Damian van Wallaert
Very interesting article. Could you share more details about the model checking tools used?
March 16, 2024
Jayda van Vliet
The practical examples are enlightening. Do you also have experience with verification in the medical sector (IEC 62304)?
March 17, 2024
Pieter Janssen
Your approach aligns perfectly with the increasing cybersecurity demands for critical infrastructure. Good work!
March 18, 2024

Cookie Preference

This website uses cookies to improve the user experience and ensure functionality. By continuing, you consent to the use of these cookies. You can manage your preferences at any time.

🌐 Language
NL EN