RTT-DCC: Data & Control Coupling Analyser

Data coupling and control coupling analysis is a mandatory verification task for safety-critical avionics software according to RTCA DO-178B and RTCA DO178C. RTT-DCC is a software analysis tool that automatically performs this analysis with a focus on pointer-induced data couplings.

  • Automatic: RTT-DCC traces and documents all data dependencies between different source modules, and automatically determines verification obligations for the test team.
  • Easy-to-use: RTT-DCC parses and processes unmodified programs written in C and thus does not require any intrusions to the code base.
  • Precise: RTT-DCC performs a very precise context-sensitive program analysis in order to generate as few spurious warnings as possible.
  • Efficient: Analyze large code bases with hundreds of thousands of lines of C code.
  • Supportive: RTT-DCC generates spreadsheets from templates that can be provided as evidence to the certification authorities.
  • Qualified: RTT-DCC can be qualified for all software criticality levels according to the RTCA DO-178B and RTCA DO-178C standards.
  • Proven in use: The tool has successfully been applied during low-level verification of software according to Development Assurance Level A (DAL A).
  • Portable: Available for Windows and Linux platforms.

Background

In the context of RTCA DO-178 projects, data coupling & control coupling (DC/CC) analysis has often been applied as a design and code review activity to ensure that the source code accurately implements the data and control flow of the design. This is not what is generally meant by DC/CC analysis, since requirements-based integration tests shall be used to verify that software components interact correctly with each other and satisfy the software requirements and software architecture. To achieve this goal, DC/CC analysis shall uncover the data and control dependencies between software components. It is then necessary to validate that the requirements-based tests adequately exercise the inferred dependencies. The results of DC/CC analysis may therefore be understood as a completeness criterion for requirements-based integration tests: Only if all couplings have been exercised, requirements-based testing may be considered complete. One could thus say that DC/CC analysis results in a verification obligation to requirements-based testing.

It is indeed doubtful whether a manual DC/CC analysis for code bases, which contains aliasing and thousands of variable symbols, could actually be performed exhaustively without tool-support.

Downloads

News Feed

Announcements on new RTT-DCC releases are available via RSS feed. This feed is also used to inform about any serious problems with some released versions.