Securing the Future: Formal Verification and the Evolving Landscape of Embedded Systems

June 27, 2025

Securing the Future: Formal Verification and the Evolving Landscape of Embedded Systems

The Cyber Resilience Act: A Wake-Up Call

The EU's Cyber Resilience Act (CRA) throws down the gauntlet. Manufacturers must proactively hunt for vulnerabilities, fix them swiftly, and openly share the details. You’re not just reacting to threats anymore; you're actively seeking them out. This shift demands a new level of rigor in the development process, and one thing is for sure: security by design is no longer optional. It's baked in. Plus, coordinated vulnerability disclosure policies and security.txt files are now part of the game (EU Cyber Resilience Act).

Microservices: A Double-Edged Sword

Microservices offer a way to leverage pre-built solutions for common features like OTA updates and user authentication. Extracting them from a modular monolith architecture can definitely reduce security risks and boost system resilience Extracting Microservices. Well-defined interfaces are key. We're talking Ports-and-Adapters architecture including echnology-agnostic ports, and remote proxies. But the real win is letting OEMs focus on their core business, instead of reinventing the wheel. It allows teams to worry less about common vulnerabilities and more on their own products that will make their specific businesses thrive.

However, while microservices can enhance modularity and security, they also introduce new challenges. The increased complexity of distributed systems can make it harder to track down security vulnerabilities, especially those related to memory safety. This is where mathematical proof comes in handy.

Toolchains: Your First Line of Defense

Your development toolchain is more powerful than you might think. Compiler warnings, static analysis tools, program augmentations… they're all there for a reason. Enable them! Catching errors early is way easier (and cheaper) than dealing with them later. Features like -Wconversion-Wstrict-overflow, and -Wformat can help you identify potential integer overflow issues and other nasty surprises. Tools like scan-buildclang-tidy, and GCC's -fanalyzer take it a step further. But remember, it’s a balancing act. Performance and resource constraints are still a factor.

RISC-V: A Foundation for Safety and Security

RISC-V's modularity, simplicity, and extensibility make it an attractive option for safety-critical systems. Its open architecture, rich tools ecosystem, and the availability of pre-certified IP cores are big pluses. It gives developers more control and flexibility to implement memory safety measures and cybersecurity compliance requirements.

Architectural Coupling: The Silent Killer

Software-defined vehicles (SDVs) have faced some pretty public software failures. While business pressures play a role, poor architectural cohesion and coupling are often the real culprits. High bandwidth communications, pub/sub models, centralized hardware/software… they can all lead to disaster. Strategic incentives are needed to promote better architectures. This calls for a fundamental shift in how we engineer software for life-critical systems.

SAE J3018: A Roadmap for Safe Testing

Testing autonomous vehicles (AVs) on public roads requires you to follow SAE J3018 SAE J3018. It’s the industry standard for road testing safety. And don't forget ISO 26262 for safety-critical mechanisms like driver takeover functions. Reliability is paramount.

Formal Verification: The Ultimate Safety Net

Formal verification provides an extra layer of assurance, the mathematical proof that your code is free from undefined behaviorbuffer overflows, and other critical vulnerabilities. Unlike traditional static code analysis tools, TrustInSoft Analyzer offers zero false negatives and very few false alarms. It exhaustively analyzes all possible execution paths, ensuring that your critical software is truly memory-safe. It’s the difference between “we think it’s safe” and “we know it’s safe.” This means no more runtime error detection nightmares.

Imagine the peace of mind that comes with knowing your embedded system is rock solid, even in the face of evolving threats and increasingly complex requirements.

The embedded systems landscape is evolving rapidly. New regulations, architectural shifts, and rising security threats demand a more rigorous approach to development. Leveraging your toolchain, embracing standards like SAE J3018, and considering the benefits of RISC-V are all important steps. But for truly memory-safe software and zero runtime errors,TrustInSoft Analyzer is the ideal tool.

Newsletter