VectorCAST/Coupling
Coupling verification is a mandatory requirement for safety-critical avionics software under both DO-178B and DO-178C. VectorCAST/Coupling satisfies these requirements by first identifying couples through static analysis, then verifying them at run time during application execution.
VectorCAST/Coupling works within your existing VectorCAST/QA project or VectorCAST Cover environment. There is no separate setup. Static and run-time analysis both operate on software components, which are user-defined collections of one or more C or C++ source files.
Who is VectorCAST/Coupling for?
VectorCAST/Coupling is used by verification engineers and software leads on avionics programs governed by DO-178B or DO-178C at Design Assurance Levels A, B, or C. It requires an existing VectorCAST/QA environment.
The DO-178 Coupling Requirement
DO-178C defines two types of coupling that must be verified.
Data Coupling
The dependence of a software component on data not exclusively under the control of that software component.
(DO-178C ANNEX B, Glossary)
Control Coupling
The manner or degree by which one software component influences the execution of another software component.
(DO-178C ANNEX B, Glossary)
How the Requirements Strenghtened from DO-178B to DO-178C
DO-178B required confirmation that data and control coupling existed as intended. DO-178C strengthened this by requiring teams to now confirm that requirements-based testing has actually exercised the data and control coupling. For DAL A, B, or C compliance under DO-178C, three things must be demonstrated.
- Data and control coupling meet the requirements and intended design
- Coverage analysis for data and control coupling has been performed after running requirements-based tests
- Dynamic coverage analysis is present, static analysis alone is no longer sufficient
VectorCAST/Coupling addresses all three.
VectorCAST/Coupling Advantages
Automate what would otherwise be manual analysis
Identifying and verifying couples manually across a C or C++ codebase is time-consuming and error-prone. VectorCAST/Coupling automates both the static identification and the run-time verification, saving significant time and improving accuracy.
Use your existing VectorCAST environment
VectorCAST/Coupling integrates directly with your existing VectorCAST/QA project or VectorCAST Cover environment. No separate setup or parallel infrastructure is required.
Satisfy DO-178C dynamic analysis requirements
Static analysis alone does not satisfy DO-178C coupling verification. VectorCAST/Coupling provides the run-time verification component that completes your compliance evidence.
Generate audit-ready reports automatically
Coupling Coverage Reports, Access Order Full Reports, and Access Order Error Reports are generated automatically and structured for certification review.
How it Works
The goal of coupling analysis is to prove two things: that the control and data flow between architectural components in the implementation matches the intended design, and that those flows have been exercised by testing. VectorCAST/Coupling produces this proof through a two-phase process.
Phase 1: Static Analysis
VectorCAST/Coupling performs static analysis on your C or C++ source files to identify data and control couples across the software components you define. A component is a user-defined collection of one or more source files. The static analysis produces the Component Report, which lists global data objects and functions for each component and establishes the baseline coupling map.
Phase 2: Run-Time Verification
During application execution, VectorCAST/Coupling instruments the identified couples and verifies that they behave as the design intended. Run-time results are captured and compared against the coupling map produced by static analysis. This dynamic verification is what DO-178C requires beyond static analysis alone.
Coupling Coverage Reports
VectorCAST/Coupling generates three reports, each serving a distinct purpose in the verification and audit workflow.
Coupling Coverage Report
Combines static analysis and run-time analysis results into a high-level overview of coupling coverage across the application. Includes the Component Report, which lists global data objects and functions for each component.
Coupling Access Order Full Report
Shows the access order by test result for all couples, verifying that the software architecture was correctly followed across all tests. Used to demonstrate complete coverage of coupling behavior.
Coupling Access Order Error Report
Shows the access order by test result only for couples with errors. This lets verification engineers track down access order violations efficiently, without parsing through the full result set.
Frequently Asked Questions

