c54a9c55d2
Validate / build-test (macos-latest) (push) Failing after 4s
Validate / build-test (windows-latest) (push) Failing after 15s
Validate / build-test (ubuntu-latest) (push) Failing after 15s
Validate / reports (push) Has been skipped
Release / release (push) Successful in 50s
Neue Word-Dokumente (alle aus Markdown via pandoc): Safety (docs/safety/): - HARA.docx — Hazard Analysis & Risk Assessment, leitet ASIL-D ab - Safety-Case.docx — Argumentation pro Safety Goal (GSN-Stil) - FMEDA.docx — Pro-Komponente Failure Modes + Diagnostic Coverage - MISRA-Compliance-Statement.docx — formaler MISRA-Nachweis - Verification-Report.docx — V-Modell rechte Seite Zusammenfassung - Tool-Qualification-Cppcheck.docx — Tool-Qual (TCL2/ASIL-D) Manuals (docs/manuals/): - User-Manual.docx — Fahrerhandbuch-Auszug - Service-Manual.docx — Werkstatt-Doku mit UDS-DTCs CI-Erweiterungen: - Doxyfile + `make docs` — API-Dokumentation aus src/ - tools/generate_test_report.py + `make test-report` — Test-Summary HTML - validate.yml: Doxygen + Test-Report als CI-Artefakte - release.yml: alle Word-Docs + Engineering-Artefakte ins Release-Bundle README: - Komplette Tour durch alle Artefakte - Repo-Struktur-Diagramm aktualisiert
4.8 KiB
4.8 KiB
doc-id, version, status, datum
| doc-id | version | status | datum |
|---|---|---|---|
| SLM-EPB-MISRA-COMP-001 | 1.0 | Freigegeben | 2026-05-12 |
MISRA C:2012 Compliance Statement
| Feld | Wert |
|---|---|
| Projekt | demo-epb |
| Dokument-ID | SLM-EPB-MISRA-COMP-001 |
| Datum | 2026-05-12 |
| Standard | MISRA C:2012 (inkl. Amendment 1) |
| Compiler | GCC 11.2 (Linux CI) / GCC 16.1 (Win) |
| Checker | Cppcheck 2.7+ mit --addon=misra |
1. Zusammenfassung
Der Quellcode von demo-epb wurde gegen MISRA C:2012 geprueft. Alle Required und Mandatory Regeln werden eingehalten, mit Ausnahme von einer dokumentierten Deviation (siehe MISRA-REC-001).
Compliance-Erklaerung: demo-epb v1.0 ist MISRA C:2012 compliant unter Beruecksichtigung dokumentierter Deviation Records.
2. Geltungsbereich
| Modul | MISRA-konform geprueft |
|---|---|
src/switch_debouncer.{c,h} |
Ja |
src/actuator_driver.{c,h} |
Ja |
src/apply_controller.{c,h} |
Ja |
src/safety_manager.{c,h} |
Ja |
src/epb_types.h |
Ja |
src/stubs/*.h |
Header-only, keine MISRA-relevanten Implementierungen |
tests/**/* |
Nicht im Geltungsbereich (Test-Code) |
tools/**/* |
Nicht im Geltungsbereich (Python-Skripte) |
3. Regel-Aktivierung
Cppcheck MISRA-Addon prueft die folgenden Regel-Kategorien:
| Kategorie | Anzahl | Aktivierung im Projekt |
|---|---|---|
| Mandatory | 9 | Alle aktiviert, Verletzung blockt Build |
| Required | 119 | Alle aktiviert, Verletzung blockt Build |
| Advisory | 47 | Aktiviert mit Warning-Level, Deviations zulaessig per Record |
4. Compliance-Status pro Regel-Kategorie
4.1 Mandatory Rules (9)
| Rule | Status |
|---|---|
| R 9.1, R 9.2, R 9.3 | Compliant |
| R 13.6, R 17.3, R 17.4 | Compliant |
| R 19.1, R 21.13, R 21.17 | Compliant |
| R 21.18, R 21.19, R 21.20 | Compliant |
Mandatory Status: 100 % Compliant.
4.2 Required Rules
Gesamt: 119 Required Rules. Verletzungen: 0.
Top-relevante Rules fuer dieses Projekt:
| Rule | Beschreibung | Status |
|---|---|---|
| R 8.1 | Type specifier shall be explicit | Compliant |
| R 8.2 | Function parameters shall be explicitly named | Compliant |
| R 8.4 | Compatible declaration shall be visible | Compliant |
| R 8.7 | Functions shall not have external linkage if used in one unit | Compliant |
| R 14.1 | Loop counter shall not have essentially floating type | Compliant |
| R 14.4 | Controlling expression shall have essentially Boolean type | Compliant |
| R 15.4 | At most one break or goto per loop | Compliant |
| R 17.7 | Return value of non-void function shall be used | Compliant (oder explizit (void)) |
| R 21.3 | No dynamic memory allocation (malloc/free) | Compliant (keine Heap-Nutzung) |
| R 21.4 | No setjmp/longjmp | Compliant |
4.3 Advisory Rules
47 Advisory Rules. Verletzungen werden via MISRA Deviation Records dokumentiert.
| Record-ID | Rule | Datei | Begruendung-Auszug |
|---|---|---|---|
| MISRA-REC-001 | R 15.5 | src/apply_controller.c:64 |
Early-Exit fuer NULL-Check |
Advisory Status: 1 Deviation Record, dokumentiert.
5. Pruef-Pipeline
cppcheck \
--enable=all \
--inconclusive \
--error-exitcode=1 \
--suppress=missingIncludeSystem \
--suppress=unusedFunction \
--addon=misra \
-I src src
Pruefung erfolgt:
- Lokal vor jedem Commit (empfohlen)
- Automatisch in CI bei jedem Push und PR
- Vor jedem Release (Tag-Push triggert release.yml)
6. Deviation Permits (projektweit)
Keine projektweiten Permits aktiv.
7. Re-Audit-Trigger
Diese Compliance-Erklaerung muss bei folgenden Aenderungen neu erstellt werden:
- Compiler-Wechsel (z.B. GCC -> Clang)
- Major-Update von Cppcheck oder MISRA-Addon
- Neue Quelldateien ausserhalb
src/ - MISRA-Standard-Update (z.B. C:2025 Release)
8. Aenderungshistorie
| Version | Datum | Aenderung | Autor |
|---|---|---|---|
| 1.0 | 2026-05-12 | Erstfreigabe v1.0 | S. Lohmaier |