Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions subcommittee/tooling/mission-statement.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,25 @@

| Purpose | Requirement | Tool | Status |
|---------|-------------|------|--------|
| Qualified Compiler | ? | [Ferrocene](https://ferrocene.dev/en/) | Available for `aarch64-nostd` |
| Qualified Compiler | ISO26262 | [Ferrocene](https://ferrocene.dev/en/), AdaCore | Available for `aarch64-nostd` |
| Certified Core Library | SIL-4 / ASIL-D out of context | N/A | In progress by Ferrocene / Adacore / HighTec |
| Coding Style Verification | MISRA-C, ... | Rust Compiler, Clippy and probably additional tools required to verify and evaluate the application of the coding standard developed by the Code Guidelines Subcommittee | OxidOS can provide a mapping of MISRA-C Rules to the Rust Compiler |
| MC/DC Coverage report | ... | N/A | not available - LLVM might provide some tools |
|Statement Coverage| ISO26262 Part6 9.4.5 ASIL A/B | | |
|Function coverage| ISO26262 Part 6 10.4.6 ASIL C/D | | |
|Call coverage| ISO26262 Part 6 10.4.6 ASIL C/D | | |
|Branch Coverage | ISO26262 Part6 9.4.5 ASIL B/C/D | | |
| DC Coverage report | ISO26262 Part6 9.4.5 ASIL D, SIL-4 | N/A | not available - LLVM might provide some tools |
| MC Coverage report | ISO26262 Part6 9.4.5 ASIL D, SIL-4 | N/A | not available - LLVM might provide some tools + 3rd party (wip) |
| Static Analysis Tools | probably similar to Polyspace | N/A | an assesement about what the rust compiler covers is necessary |
| Code Metrics Generator | Cyclomatic Complexity, ... | N/A | not available |
|Unambiguous graphical representation|ISO26262 ASIL B/C/D | N/A | Graphical representation specific not available. Autosar Rust defined a Enterprise Architect profile See chapter 6.6 of [Explanation of ARA Applications in Rust](https://www.autosar.org/fileadmin/standards/R23-11/AP/AUTOSAR_AP_EXP_ARARustApplications.pdf)|
|Use of naming convention| ISO26262 ASIL A/B/C/D | Clippy | Not available tool that allow to define and enforce naming convention. Clippy check only for predefined and generic naming convention |
|Measurement of execution time and reaction time of software unit| ISO 26262 6.4.2 e) | perf, Intel VTune, flamegraph, [Rapita](https://www.adacore.com/press/rapita-systems-showcases-adacores-gnat-pro-for-rust-at-hisc) | For hard realtime application are required not intrusive profiler that are typically HW specific |
| Test runner | all | cargo-nextest, cargo, defmt-test+probe.rs | No ISO qualified tool are available. Example of qualified test runner: [VectorCast](https://www.vector.com/us/en/products/products-a-z/software/vectorcast/?gad_source=1&gclid=EAIaIQobChMIyMKCgvn3igMVM0-RBR1s9BOkEAAYASAAEgJM2_D_BwE#c336977), [TESSY](https://www.razorcat.com/en/product-tessy.html)|
| Automatic generation of unit/integration tests based on equivalence classes and boundary values | ISO26262 Part 6 (9.4.4 & 10.4.4) ASIL B/C/D | N/A | Example of automatic test generator based on equivalence classe and boundary values: [VectorCast](https://www.vector.com/us/en/products/products-a-z/software/vectorcast/?gad_source=1&gclid=EAIaIQobChMIyMKCgvn3igMVM0-RBR1s9BOkEAAYASAAEgJM2_D_BwE#c336977), [TESSY](https://www.razorcat.com/en/product-tessy.html) |
Fault injection test | ISO26262 Part 6 (9.4.2 ASIL D, 10.4.2 ASIL C/D) | [mutagen](https://github.com/llogiq/mutagen), [cargo-mutants] (https://mutants.rs/) | No ISO qualified tools available |
Requirement based test | ISO 26262 Part 6 (9.4.2 & 10.4.2 ASIL A/B/C/D) | [mantra](https://crates.io/crates/mantra) | No ISO qualified tool available |
| Formal Methods | | [kani](https://model-checking.github.io/kani/) | |