CppDepend
Automotive — Case Study

Case Study: Improving Code Quality and MISRA Compliance in Automotive Embedded Systems

A major automotive supplier building software for engine management and advanced driver-assistance systems (ADAS) faced growing complexity in its C/C++ codebase. The embedded systems had to meet…

Case Study: Improving Code Quality and MISRA Compliance in Automotive Embedded Systems

Industry: AutomotiveClient Profile: European Tier-1 automotive supplier (unnamed)Domain: Embedded software for powertrain and ADAS control unitsTeam Size: ~60 engineers across three continentsLanguages: C, C++Key Standards: MISRA C, MISRA C++, ISO 26262

The Challenge

A major automotive supplier building software for engine management and advanced driver-assistance systems (ADAS) faced growing complexity in its C/C++ codebase. The embedded systems had to meet strict compliance with MISRA and ISO 26262 requirements, yet:

  • Manual MISRA compliance checks were time-consuming and inconsistent across teams.
  • Architectural layering was being violated frequently, leading to regression and longer debugging cycles.
  • Developers lacked visibility into technical debt and the long-term maintainability of the system.
  • Audits for ISO 26262 documentation required ad-hoc manual reporting that took days to prepare.

The software team needed an automated, integrated solution that could ensure rule compliance, enforce architectural discipline, and reduce time-to-audit without slowing development velocity.

The Solution: CppDepend

CppDepend was deployed as a static analysis platform across all critical components of the embedded software stack. The tool was integrated directly into the team's CI/CD pipeline and configured to align with internal development workflows and safety goals.

Key Features Used:

  • MISRA C and C++ enforcement via customizable CQLinq rules
  • Layering and dependency checks to prevent architectural drift
  • CI integration with Jenkins and GitLab for early feedback
  • Technical debt tracking and visual dashboards
  • Custom quality gates to block non-compliant code during merge requests

Implementation Strategy

  • Phase 1: Initial scan revealed over 2,000 MISRA violations and 150+ architecture rule violations across modules. A “soft fail” policy was used to onboard teams gradually while tracking trends.
  • Phase 2: Rules were refined to reflect not just MISRA but internal performance, portability, and security constraints.
  • Phase 3: Dashboards were created for team leads to monitor quality evolution, and trend alerts were activated in Jenkins builds.
  • Phase 4: Reports generated by CppDepend were included directly in ISO 26262 documentation submitted during audits.

Results After 12 Weeks

MetricBefore CppDependAfter 12 Weeks
MISRA violations2,030270
Architecture violations15827
Audit preparation time3–5 days< 4 hours
Merge request reworkHighReduced by ~35%

Outcomes & Benefits

  • Automated compliance: Over 85% of coding standard enforcement now automated.
  • Shorter reviews: Manual code reviews are now focused on logic, not formatting or structure.
  • Audit-ready: Instant access to updated metrics and reports aligned with safety requirements.
  • Improved collaboration: Visual dependency graphs helped new engineers understand subsystem boundaries faster.
  • Better planning: With trend data and technical debt metrics, the team could prioritize refactoring efforts strategically.

Why CppDepend?

CppDepend stood out because it combined deep code analysis, customizable rules, and architecture control into a single solution that plugged directly into the team’s development workflow. Unlike basic linters or checkers, it provided a strategic view of the codebase — essential in a safety-critical, long-lifecycle environment like automotive embedded software.

Conclusion

By integrating CppDepend into their development workflow, the automotive supplier transformed how they enforced coding standards, managed architecture, and prepared for ISO 26262 audits. What was once a manual, time-consuming process became automated, measurable, and consistent.

CppDepend empowered development teams to catch issues early, reduce review overhead, and maintain safety-critical quality standards at scale. As a result, they improved productivity, reduced technical risk, and confidently moved forward with the development of next-generation embedded vehicle systems — while staying compliant with the strictest automotive safety standards.

← Back to Automotive overview

See what CppDepend reveals in your codebase

Run the analysis on your own projects: coding standards, architecture validation, technical debt and quality gates — in minutes.