The client designs smart controllers used in factory automation and heavy machinery. The firmware was responsible for timing-sensitive operations like pressure control, fault detection, and…
Industry: Embedded SystemsClient Profile: Industrial automation company developing firmware for smart controllersDomain: Real-time embedded software for sensor monitoring and actuator controlTeam Size: 20 embedded developers and testersLanguages: C and C++Key Standards: MISRA C, CERT C, ISO/IEC TS 17961Hardware Targets: ARM Cortex-M, RTOS (FreeRTOS-based)
The client designs smart controllers used in factory automation and heavy machinery. The firmware was responsible for timing-sensitive operations like pressure control, fault detection, and communication with upstream systems over industrial protocols (CANopen, Modbus).
As the firmware evolved, the team faced several pain points:
The team needed a tool to automate enforcement of safety and design rules, measure maintainability, and provide early feedback on risky code — without adding overhead or disrupting the real-time constraints of the system.
CppDepend was introduced to help the team gain control over growing firmware complexity and ensure code safety for long product lifecycles. It was selected over simpler linters because of its architecture enforcement capabilities, trend dashboards, and flexible CI integration.
Key goals:
| Metric | Before CppDepend | After 6 Weeks |
|---|---|---|
| MISRA/CERT rule violations | 800+ | 120 |
| Function complexity violations | 60+ | 15 |
| Architecture rule violations | 40+ | 8 |
| Regression bugs due to layering | Frequent | Rare |
| Manual review overhead (avg/Sprint) | ~12 hours | < 3 hours |
CppDepend was not just a static analyzer — it was a design governance tool. It allowed the team to transition from reactive, checklist-driven compliance to proactive, automated quality assurance.
Its low-friction integration, rich code model, and customizable rules made it suitable for deeply embedded software with long-term product support.
CppDepend helped the team reclaim control over their embedded firmware. It reduced review time, increased modularity, and gave engineers and managers alike the visibility they needed to build safe, scalable, and testable embedded systems— ready for deployment in high-reliability industrial environments.
Run the analysis on your own projects: coding standards, architecture validation, technical debt and quality gates — in minutes.