CppDepend
Regierung & öffentlicher Sektor — Fallstudie

Fallstudie: Verbesserung von Wartbarkeit und Auditierbarkeit in Software des öffentlichen Sektors mit CppDepend

Die Behörde betrieb mehrere große, maßgeschneiderte Softwareplattformen für missionskritische Logistik, Lieferkettenverfolgung und Notfall-Koordination. Die Systeme hatten sich über…

Welche Standards unterstützt CppDepend standardmäßig? Die integrierten Regelsätze decken ab MISRA C/MISRA C++, CWE, CERT C/CERT C++ und AUTOSAR C++14 — und keinen anderen Standard. Für jede andere auf dieser Seite erwähnte Norm (ISO 26262, DO-178C, IEC 62304, IEC 61508, JSF++ AV, NIST SSDF, ASPICE…) wird die Konformität durchgesetzt durch benutzerdefinierte CQLinq-Regeln für Ihr Projekt geschrieben, plus Architekturvalidierung und CI-Quality-Gates.

Fallstudie: Verbesserung von Wartbarkeit und Auditierbarkeit in Software des öffentlichen Sektors mit CppDepend

Branche: Regierung & öffentlicher SektorKundenprofil: Nationale Regierungsbehörde für Verteidigungslogistik und InfrastruktursystemeBereich: Interne Softwareplattformen für Logistik, Beschaffung und VorfallmanagementTeamgröße: 80+ Ingenieure und Auftragnehmer über verschiedene Abteilungen und AnbieterSprachen: C++, C# und C für Legacy-SystemeZentrale Prioritäten: Wartbarkeit, Langzeitsupport, Rückverfolgbarkeit, Audit-Compliance, modulare ArchitekturAnwendbare Standards: CERT C++, NIST SP 800-218 (SSDF), MISRA C (für eingebettete Verteidigungssysteme)

Die Herausforderung

Die Behörde betrieb mehrere große, maßgeschneiderte Softwareplattformen für missionskritische Logistik, Lieferkettenverfolgung und Notfall-Koordination. Die Systeme hatten sich über mehr als 15 Jahre entwickelt und waren eine Mischung aus modernen Services und eng gekoppelten Legacy-Komponenten.

Zentrale Probleme:

  • Alternde Codebasis: Ein Großteil der Software, insbesondere in Logistik- und Sicherheitsmodulen, war in C/C++ entwickelt und hatte architektonische Schulden angehäuft.
  • Anbieter-Inkonsistenz: Verschiedene Auftragnehmer lieferten Code mit unterschiedlichen Standards, was die Durchsetzung interner Coding-Richtlinien nahezu unmöglich machte.
  • Audit- und Rückverfolgbarkeitslücken: Die Einhaltung interner Richtlinien und externer Standards (z. B. NIST, FedRAMP) erforderte eine Rückverfolgbarkeit auf Code-Ebene, die nicht verfügbar war.
  • Wartbarkeitsrisiko: Neue Entwickler brauchten Wochen, um Modul-Interdependenzen zu verstehen, und unbeabsichtigte Regressionen traten bei Updates häufig auf.
  • Sicherheitsdruck: Öffentliche, netzexponierte Systeme erforderten die Einhaltung sicherer Coding-Praktiken wie CERT C++ — doch Verstöße wurden nicht automatisch gemeldet.

Die Lösung: CppDepend

CppDepend wurde gewählt, um eine einheitliche Sicht auf Codequalität, Modularität und Regelkonformität über das gesamte Software-Portfolio zu bieten. Es half der Behörde:

  • Secure-Coding-Regeln im Einklang mit CERT- und NIST-Richtlinien durchsetzen
  • Ein gemeinsames Code-Qualitätsframework für interne Teams und Auftragnehmer schaffen
  • Legacy-Systeme analysieren, um Hotspots technischer Schulden und Refactoring-Prioritäten zu identifizieren
  • Audit-Dokumentation und Architekturberichte erstellen, die bei externen Bewertungen benötigt werden
  • Wartbarkeit verbessern durch Visualisierung der Struktur und Durchsetzung von Design-Grenzen

CppDepends Fähigkeit, sowohl Legacy- als auch modernen Code zu analysieren, benutzerdefinierte Regeln zu definieren und Offline- oder Air-Gapped-Deployments zu unterstützen, machte es ideal für die sensiblen Systeme der Behörde.

Umsetzungsstrategie

Phase 1 – Legacy-System-Audit (Wochen 1–3)

  • Drei missionskritische Plattformen mit insgesamt ~2,1 Mio. LOC analysiert
  • Identifiziert:
  • 1.700+ CERT-Verstöße
  • 80+ zirkuläre Abhängigkeiten zwischen Modulen
  • 12 Subsysteme mit zyklomatischer Komplexität über akzeptablen Schwellenwerten

Phase 2 – Regelanpassung & Anbieter-Abgleich (Wochen 4–6)

  • Ein Regelwerk in CQLinq erstellt auf Basis von:
  • Internen Coding-Richtlinien
  • CERT-C++- und MISRA-C-Best-Practices
  • Erwartungen an modulares Design (z. B. keine Datenzugriffslogik in der UI-Schicht)
  • CppDepend-Templates an Drittanbieter verteilt zur Integration in deren eigene Workflows

Phase 3 – Audit-Bereitschaft & Lebenszyklus-Tracking (Wochen 7–10)

  • CppDepend genutzt, um Architekturdiagramme und Trendberichte für Compliance-Teams zu erstellen
  • Diff- und Verlaufsansichten aktiviert, um die Code-Entwicklung über mehrjährige Entwicklungszyklen zu zeigen
  • In Azure-DevOps-Pipelines integriert, die sowohl für interne als auch für von Anbietern eingereichte Builds verwendet werden

Ergebnisse nach 10 Wochen

MetrikVor CppDependNach 10 Wochen
CERT-Regelverstöße1,700+< 250
Architekturverstöße (kritisch)80+11
Dauer des Security-Review-Zyklus6–8 Tage2–3 Tage
Dokumentationsvorbereitung für Audits4–5 Tage< 1 Tag
Onboarding-Zeit neuer Entwickler6 Wochen3,5 Wochen

Ergebnisse & Vorteile

  • Bessere Zusammenarbeit mit Anbietern: Eine standardisierte, objektive Art der Code-Qualitätsmessung verbesserte Transparenz und Verantwortlichkeit gegenüber Auftragnehmern.
  • Verbesserte Sicherheitslage: CERT-Regeldurchsetzung und Abhängigkeits-Einblicke halfen, ausnutzbare Muster zu reduzieren und netzexponierte Systeme zu härten.
  • Schnellere Audits: Externe Prüfer erhielten präzise Berichte zu Struktur, Qualität und Risiko — für mehr Vertrauen und weniger Review-Aufwand.
  • Nachhaltige Modernisierung: Teams konnten Refactorings mit echten Daten statt Vermutungen planen und priorisieren.

Warum CppDepend?

CppDepend ermöglichte der Behörde, Software-Komplexität als strategisches Asset zu managen. Mit minimalem Laufzeit-Overhead lieferte es automatisierte Einblicke in Designqualität, Security-Ausrichtung und Auftragnehmer-Performance — kritisch für die langfristige Nachhaltigkeit nationaler Infrastruktursoftware.

Seine Fähigkeit, über mehrere Teams zu skalieren, offline zu arbeiten und sich in sichere CI-Umgebungen einzubinden, machte es einzigartig geeignet für Regierungssysteme.

Fazit

Durch die Einführung von CppDepend übernahm die Behörde die Kontrolle über weitläufige Legacy-Systeme und legte das Fundament für sicherere, wartbarere Software im öffentlichen Sektor. Die Plattform wurde zu einem unverzichtbaren Werkzeug für das Management von Anbieter-Beiträgen, Risiko-Tracking und die Bereitstellung resilienter Software für missionskritische Abläufe.

← Zurück zur Übersicht Regierung & öffentlicher Sektor

Sehen Sie, was CppDepend in Ihrer Codebasis aufdeckt

Führen Sie die Analyse auf Ihren eigenen Projekten aus: Coding-Standards, Architekturvalidierung, technische Schulden und Quality Gates — in Minuten.