Files
demo-epb/docs/safety-md/Tool-Qualification-Cppcheck.md
T
Stefan Lohmaier 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
feat: Vollstaendige Demo-Doku — Safety, Manuals, Reports, API-Doc
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
2026-05-12 00:55:37 -07:00

5.7 KiB

doc-id, version, status, datum
doc-id version status datum
SLM-EPB-TQ-Cppcheck-001 1.0 Freigegeben 2026-05-12

Tool-Qualification — Cppcheck + MISRA-Addon

Feld Wert
Tool Cppcheck mit MISRA-Addon
Version 2.7+ (Linux apt) / 2.20.0 (Windows/macOS)
Hersteller Daniel Marjamaeki et al. (Open Source)
Lizenz GPLv3
Verwendung Statische Analyse, MISRA-C:2012-Check
Norm ISO 26262 Part 8 §11

1. Zweck

Dieser Bericht qualifiziert Cppcheck mit MISRA-Addon fuer den Einsatz in der demo-epb Entwicklung. Tool-Qualifikation nach ISO 26262-8 §11 ist verpflichtend, wenn:

  • Das Tool das Sicherheitsniveau der Software beeinflussen kann (TI > 1)
  • Das Tool keine Off-the-Shelf-Zertifizierung besitzt

2. Tool-Klassifikation

2.1 Use Cases

UC-ID Use Case Output verifiziert?
UC-01 Statische Analyse waehrend Build Per Review (CI-Log)
UC-02 MISRA-C:2012-Konformitaetsbeleg Per Deviation-Records
UC-03 Identifikation von Bugs Ergebnisse werden geprueft

2.2 Tool Impact (TI)

Definition nach ISO 26262-8 §11.4.5.1:

Frage Antwort
Kann ein Fehler des Tools zur Verletzung einer Sicherheitsanforderung fuehren? Ja (Tool kann Bugs uebersehen)
Kann ein Fehler die Erkennung eines Bugs verhindern? Ja

=> TI = TI2 (Tool kann Sicherheit beeinflussen)

2.3 Tool Error Detection (TD)

Definition nach ISO 26262-8 §11.4.5.4:

Frage Antwort
Wird das Tool-Output durch andere Massnahmen verifiziert? Teilweise: Doppelgang via clang-tidy + Code-Review + Unit-Tests
Werden Bugs durch nachgelagerte Reviews / Tests erkannt? Ja

=> TD = TD2 (Mittlere Detection-Wahrscheinlichkeit)

2.4 Tool Confidence Level (TCL)

Mit TI2 + TD2 ergibt sich laut ISO 26262-8 Tabelle 4: TCL2.

2.5 Qualification Method

Fuer TCL2 + ASIL-D ist eine Tool-Qualifikation notwendig (Tabelle 5). Anwendbare Methoden:

  • Increased confidence from use (§11.4.7) — fuer Cppcheck verfuegbar
  • Evaluation of the tool development process (§11.4.8)
  • Validation of the software tool (§11.4.9)

In diesem Projekt: Increased Confidence from Use.

3. Increased Confidence from Use — Evidenz

3.1 Reifegrad / Verbreitung

Kriterium Bewertung
Tool-Alter > 15 Jahre Entwicklung
Aktive Community > 100 Contributors auf GitHub
Releases pro Jahr ~6 Stable Releases
Bekannte Anwender im Automotive-Sektor Documented users incl. mehrere OEMs
Bug-Tracker Oeffentlich (GitHub Issues)
Test-Suite Eigene Self-Test-Suite, > 5000 Tests

3.2 Frueheren Einsatz im Projekt-Kontext

Cppcheck wird seit 2023 in slohmaier-Projekten fuer Static-Analysis-Builds eingesetzt (Anekdotisch: ControlNav, BrailleKit). Keine bekannten Faelle, in denen Cppcheck eine echte Sicherheitsverletzung uebersehen hat, die durch Code-Review nicht doch noch gefunden wurde.

3.3 Validation-Tests im Projekt

Pro Build werden folgende Validierungs-Checks gegen Cppcheck durchgefuehrt:

Test Erwartetes Verhalten Ergebnis
Eingebauter Test-Case tests/validation_cppcheck.c mit bewusst injiziertem Bug Cppcheck erkennt OK
Cppcheck-Output ist deterministisch Wiederholte Laeufe == identisch OK
MISRA-Regeln werden gegen Referenz-Set geprueft Erkennung min. 95% required-Regeln OK

4. Bekannte Einschraenkungen

Einschraenkung Mitigation
MISRA-Addon implementiert nicht alle 175 Regeln vollstaendig Manuelle Review-Checklisten fuer fehlende Regeln
Geringere Erkennungsrate bei Heap-Bugs Keine Heap-Nutzung im Projekt (MISRA 21.3)
False Positives bei komplexen Pointer-Aliasen Deviation-Records pro Fall

5. Qualification-Verdict

Cppcheck mit MISRA-Addon ist qualifiziert fuer den Einsatz in demo-epb mit TCL2 ASIL-D, basierend auf "Increased Confidence from Use".

Diese Qualifikation gilt fuer die Version 2.7+ auf Linux (CI) und Version 2.20.0 auf macOS/Windows (Entwickler-Workstations). Bei Tool-Update muss die Validierung wiederholt werden (Regression-Suite).

6. Geltungsbereich

Diese Tool-Qualifikation gilt nur fuer:

  • Projekt: demo-epb
  • ASIL: bis D
  • Verwendung: statische Analyse + MISRA-Check (CI + lokal)
  • Tool-Versionen: 2.7+ Linux / 2.20.0 macOS+Windows

7. Aenderungshistorie

Version Datum Aenderung Autor
1.0 2026-05-12 Erstfreigabe S. Lohmaier