15. IEC 61508-3 Annex A

15.1. Table A.1

15.1.1. 1a

Covered by Requirements Management.

15.2. Table A.2

15.2.1. 7

The core library has a very simple design. It is a library of independent functions with no internal state management. Each module provides functions and data structures around a single well-defined topic. All modules have a doc-comment describing the design and contents of the module.

15.2.2. 8

N/A; the core library does not use external software elements.

15.2.3. 11a

N/A

The core library has a very simple design. It is a library of independent functions with no internal state management. Each module provides functions and data structures around a single well-defined topic. All modules have a doc-comment describing the design and contents of the module.

15.2.4. 13a

N/A; core is a library.

15.3. Table A.3

15.3.1. 1, 2, 4a

Covered by Programming language.

15.4. Table A.4

15.4.1. 1a

N/A

The core library has a very simple design. It is a library of independent functions with no internal state management. Each module provides functions and data structures around a single well-defined topic. All modules have a doc-comment describing the design and contents of the module.

15.4.2. 4

The core library is highly modularized.

15.4.3. 5

N/A

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.

As such, the certified core library does not have a coding standard.

15.4.4. 6

Covered by Programming language.

15.4.5. 7

N/A; the core library does not use external software elements.

15.5. Table A.5

15.5.1. 2

N/A; core is a library.

15.5.2. 3

The core library is tested as laid out in the Testing Plan, and those test results, for all qualified targets, are available in the Test results overview.

15.5.3. 4

The core library is tested as laid out in the Testing Plan, and those test results, for all qualified targets, are available in the Test results overview.

15.5.4. 8

Tests are managed and automated by the libtest tool. It compiles a test runner binary which executes all tests and collects and visualises all test results. Coretests is run by CI for every PR.

15.6. Table A.6

N/A; No electronics or other hardware.

15.7. Table A.7

15.7.1. 4

The core library is tested as laid out in the Testing Plan, and those test results, for all qualified targets, are available in the Test results overview.

15.8. Table A.8

15.8.1. 1-3, 4a

Covered by Re-verification scope.

15.8.2. 5

Covered by Build and Testing Process.

15.8.3. 6

Covered by Development Process.

15.9. Table A.9

15.9.1. 3

Covered by rustc lints.

15.9.2. 4

The core library is tested as laid out in the Testing Plan, and those test results, for all qualified targets, are available in the Test results overview.

15.10. Table A.10

15.10.1. 3

Covered by Tool Analysis.