--- doc-id: SLM-EPB-TQ-Cppcheck-001 version: 1.0 status: Freigegeben datum: 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 |