16. IEC 61508-3 Annex B

16.1. Table B.1 - Design and coding standards

16.1.1. 1

The Rust project has extensive measures (lints and tests) in place to assure quality and consistency of the codebase. The certified core library uses the same implicit standards as are ensured in the upstream codebase, to minimize divergence. Increased divergence from upstream leads to a higher maintenance burden and is a source of potential bugs.

16.1.2. 2, 7, 8

Covered by Programming language.

16.2. Table B.2 - Dynamic analysis and testing

16.2.1. 1

The test cases in coretests are crafted with a lot of care. Ferrous Systems did not do a full review to ensure boundary and extreme values are always tested. But achieving 100% line coverage will ensure all code paths have been executed and no untested code exists due to no test with a specific input.

16.2.2. 7b

Covered by Code coverage report.

16.3. Table B.3 - Functional and black-box testing

16.3.1. 4

The test cases in coretests are crafted with a lot of care. Ferrous Systems did not do a full review to ensure boundary and extreme values are always tested. But achieving 100% line coverage will ensure all code paths have been executed and no untested code exists due to no test with a specific input.

16.4. Table B.4 - Failure analysis

16.4.1. 3

Covered by Failure analysis.

16.5. Table B.5 - Modelling

16.5.1. 3

N/A

Ferrous Systems certifies core as a library, to be used in other systems whose requirements are unknown. Users of the certified core library should consider their specific system safety requirements when developing safety related software with the certified core library.

16.6. Table B.6 - Performance testing

16.6.1. 2-3

N/A

Ferrous Systems certifies core as a library, to be used in other systems whose requirements are unknown. Users of the certified core library should consider their specific system safety requirements when developing safety related software with the certified core library.

16.7. Table B.7 - Semi-formal methods

Covered by Requirements Management.

16.8. Table B.8 - Static analysis

16.8.1. 3-4

Covered by Programming language.

16.9. Table B.9 - Modular approach

16.9.1. 1, 3, 5, 6

Covered by Programming language.