The intent of Coupling Analysis is to prove that the control and data flow between architectural components in the implementation match what was intended by the design, and to prove that these flows have been tested. DO-178B requires applicants to identify couples in the design, and to verify that those couples, and only those couples, exist in the implementation. DO-178C additionally requires applicants to verify that the couples have been exercised during functional requirements testing. VectorCAST’s Component Report and Coupling Coverage Report provide this proof.
DO-178C defines two types of couples, Control Couples and Data Couples. The specification defines them as:
Control Coupling – The manner or degree by which one software component influences the execution of another software component (DO-178C ANNEX B, Glossary).
Data Coupling – The dependence of a software component on data not exclusively under the control of that software component (DO-178C ANNEX B, Glossary).
DO-178B only required you to confirm the data and control coupling. DO-178C changed that to confirm that the requirements-based testing has exercised the data and control coupling. If you have to comply with DO-178C (A, B or C), then objective 8 applies. For DO-178B, you may have confirmed the data and control coupling manually or with static analysis. Now you must:
- Confirm the data and control coupling meets the requirements and intended design
- Show the coverage analysis for the data and control coupling after running the requirements-based tests
- Static Analysis alone is insufficient - you must also show the dynamic coverage analysis Using VectorCAST/Coupling will save you time.
Manual analysis is hard and labor intensive. Static Analysis alone is insufficient because you must also show the dynamic coverage analysis. Using VectorCAST/Coupling is easier and saves time.