Why Traceability Matters in Safety-Critical Software Certification
21 Sep, 2026Traceability is a topic that is hugely important to every safety standard, but what is it and how is it done in practice?
What is traceability?
Traceability is the ability to demonstrate that you have delivered exactly what you intended to deliver, and nothing more, with evidence that is easily understandable. Traceability ensures that you have no unfulfilled requirements, no undocumented or untested code or unexpected behaviour. These outcomes are important to every software project, but in the field of safety critical software, they take on a higher significance because the consequences of failure can be so great. Subsequently, every safety standard requires that traceability be demonstrated. For organisations pursuing certification, traceability is also a key contributor to audit readiness, providing the objective evidence assessors and certification bodies expect to see during compliance reviews.
From high-level objectives to clear requirements
Most projects start off with some high level, often quite vague, objectives that must be met in order for the project to be considered complete. The first step is to transform those vague objectives into clear requirements that define what the system has to do. These requirements should (as a minimum) be specific, unambiguous and testable. From the high-level requirements, the safety standards require traceability in two directions. The first is down into lower-level or design requirements, the second is to test procedures.
Traceability through the development lifecycle
Depending on the complexity of the project, there can be multiple levels of design requirements. In a typical project, the highest-level requirements would be user or system requirements. These would then flow down to software requirements (what functionality the software needs to provide), then to architecture requirements (how the software is going to be organised, what functionality each module is going to provide, how those modules will interact with each other) and finally to detailed design requirements (function specifications).
At each stage, the developer has to ensure that each higher-level requirement has been satisfied – that is, every software requirement must be traced to one or more architecture requirements, and every architecture requirement must be traced to one or more detailed design requirements. The final step of the design is to trace the lowest level design requirements to the source code. Every low-level design requirement must have corresponding source code and there shouldn’t be any source code that isn’t traced to a low-level design requirement.
Establishing and maintaining these links throughout the development lifecycle can require significant effort, but it provides the evidence needed to demonstrate compliance and reduces the likelihood of problems being discovered late in the certification process.
Traceability and testing
The other important aspect of traceability is tracing from each requirement to an appropriate test procedure. Typically, low-level design requirements are traced to unit or module tests, architectural requirements are traced to integration tests and software requirements are traced to system tests. The tests themselves can be inspection, functional tests or analysis – the important thing is that each requirement at each level is tested appropriately.
How is traceability managed?
Now that we’ve seen what traceability is, the next question is, “how to do it?” There is no “correct” solution as that depends on the size of the project and the tools available. For simple projects it might be sufficient to have your requirements listed in a table or spreadsheet and just add one or more columns that state the lower-level requirement(s) that satisfy it and the test procedure that verifies it. For larger or more complicated projects, there are several commercially available requirements management tools that allow you to link requirements in one module to requirements in another module. These tools make the bidirectional tracing as easy as clicking on a link and are generally preferred as they are easier to maintain than tables or spreadsheets.
They can also make it easier to demonstrate compliance and respond to auditor requests by providing a clear and maintainable record of the relationships between requirements, design artefacts, source code and tests.
Why accurate traceability matters
As with everything in the safety critical software world, it is important that the tracing from one requirement to another and from requirement to test procedure are all reviewed. It is not enough for a requirement to be traced somewhere – it has to be traced correctly, otherwise the tracing is meaningless. This can be a time consuming and laborious task, but it is essential to ensure that the tracing is correct. Complete and accurate traceability significantly reduces, even eliminates, the possibility of incorrect or extraneous software ending up in the final product. It also demonstrates to the safety assessor that the development has been done methodically and with the necessary attention to detail that compliance with the rest of the safety standard is far more likely. Without it, the alternative can result in audit findings, additional verification work and certification delays.
Traceability affects every artefact in the development. It is the glue that makes every other part stick together and ensures that the development is complete and correct. In short, traceability is essential to successful software project development.
How SAFERTOS® helps demonstrate traceability
Demonstrating complete requirements-to-test traceability can be one of the most time-consuming parts of safety certification. The SAFERTOS® Design Assurance Pack includes traceability records, requirements documentation, verification evidence and supporting lifecycle artefacts, together with guidance that helps organisations understand how to leverage that evidence within their certification effort rather than generating it from scratch.
Author
James Stanley, Engineering Manager
Back to News