Electrical, electronic or programmable systems that perform safety related functions are often developed to the IEC 61508 standard. IEC 61508 is the standard governing the functional safety of programmable electronic systems. This standard, developed by, The International Electrotechnical Commission (IEC) is well established in the industrial process-control and automation industry and is also used in automotive, heavy machinery, mining, and other fields where safety and reliability are critical.
The standard presents a lifecycle approach including risk assessment, design, integration, testing, modification and maintenance and safety management.
The IEC 61508 complete standard is comprised of 7 parts. Part 3 defines the software requirements and sets the safety lifecycle for software, including validation and verification. The safety lifecycle begins with a risk analysis to determine the Safety Integrity Level (SIL) required. SIL is a quantification of the magnitude of risk reduction required. See riskCAT61508
Based on the risk analysis, the following recommendations are made with respect to source code verification.
For software systems, IEC 61508 suggests following a V-model development process. The V-model shows the necessary connection between requirements and validation throughout the entire development process. The VectorCAST tools are used during the verification and validation phases, and during the coding phase as depicted in the graphic below: