Skip to main content
search

Working with a global Tier-1 mobility technology provider developing safety-critical ADAS and vehicle control software, SRM Tech strengthened verification maturity across the client’s automotive embedded programs. Traditional unit testing left critical gaps, including unexecuted functions, missed call paths, and latent integration defects that often surfaced late in the lifecycle.

To eliminate these risks and improve audit readiness, we implemented an automated function call coverage testing framework aligned with Automotive SPICE SWE.4. The solution ensured that every function and execution path was exercised, enabling earlier defect detection, stronger traceability, and faster, compliance-ready releases.

Business Goals

The initiative focused on closing verification gaps that persisted despite conventional unit testing practices. The objectives were to:

  • Ensure complete execution of all implemented functions
  • Detect integration and interaction defects early
  • Strengthen correctness, completeness, and traceability for SWE.4
  • Reduce late-stage rework and compliance risks
  • Improve software reliability for safety-critical deployments

Solution

SRM Tech designed and deployed a structured framework for validating function call coverage that seamlessly integrated into the client’s development workflow.

The approach combined automated coverage tools, systematic test design, and architecture-aware analysis to verify that every function call and execution path was exercised under normal, abnormal, and stress conditions.

By mapping the full function call graph and aligning tests directly to coverage metrics, teams gained clear visibility into software behaviour and could proactively address gaps long before integration or audits.

Before Implementation

Prior to automation, verification activities faced several limitations:

  • Dependence on manual unit testing and reviews
  • Limited assurance of complete function execution
  • Inadequate coverage of edge cases and failure paths
  • No unified function call graph or interaction visibility
  • Integration defects discovered late in the cycle
  • Inconsistent use of coverage metrics
  • High manual effort for traceability and compliance evidence
  • Increased rework and schedule risks

After Implementation

With the automated framework in place, testing workflows became faster, more reliable, and audit-ready:

  • Complete function call graph created for architectural visibility
  • Test suites designed to execute every function at least once
  • Automated scripts for normal, abnormal, and stress scenarios
  • Early validation of concurrency, resource handling, and recovery logic
  • Integrated coverage tracking using winAMS and LDRA
  • Objective, real-time reports for SWE.4 readiness
  • Automated traceability between requirements, tests, and coverage
  • Reduced manual effort and faster regression cycles
  • Earlier defect detection and reduced leakage in system testing

Key Highlights

Coverage-Driven Verification

  • Systematic function-level testing ensured no executable path remained untested.

Automation-First Execution

  • Batch-driven scripts enabled repeatable, unattended regression cycles.

Architecture Visibility

  • Function call graph analysis improved the understanding of interactions and dependencies.

Compliance by Design

  • Continuous coverage metrics and reports simplified SWE.4 audits and assessments.

Outcomes

  • 100% Function Call Coverage achieved across modules
  • 20% to 30% reduction in testing cycle time
  • Early detection of integration and failure-path defects
  • Reduced defect leakage into integration and system testing
  • Lower manual effort and improved productivity
  • Faster releases with stronger quality confidence
  • Audit-ready traceability and seamless SWE.4 compliance

Technologies Used

Code Coverage Tools 

  • winAMS (C/C++)
  • LDRA (C/C++)

Compilers

  • Tasking
  • HEW
  • CubeSuite
  • GHS Multi

Microcontrollers

  • RH850
  • ARM Cortex (A55)
  • TriCore