C/C++ Code Coverage Tool for Safety Critical Software
Cantata is a safety certified unit and integration testing, and a code coverage analysis tool. Enabling developers to verify code coverage integrated with Cantata tests, or with any external test driver on host native embedded target platforms.
Cantata code coverage provides an objective measurement of test execution completeness, to supplement requirements based and robustness tests
Key code analysis benefits:
Which safety standards require what level of code coverage?
International software safety standards require evidence of low level (unit and integration) testing to obtain certification for the device software.
Cantata is a unit test tool for embedded C/C++ software, certified by SGS-TÜV SAAR as suitable for use at the highest Safety Integrity Levels of all these standards:
-
EN 50128
Railway applications – Communication, signaling and processing systems
-
IEC 61508
Functional Safety of Electrical/ Electronic/ Programmable Electronic Safety-related Systems
-
DO-178 B/C
Software Considerations in Airborne Systems and Equipment Certification
Cantata provides all capabilities required for embedded software testing standards compliance, including: unit testing, integration testing, code coverage, execution on host or target hardware environments, and automated regression testing for integration with DevOps and CI/CD workflows.
COVERAGE BY STANDARD
Below are listed the lowest safety integrity level by standard for which each code coverage metric is required:
WHICH LEADING COMPANIES USE CANTATA?
HOW ABOUT YOU?
How does Cantata code coverage work?
Cantata Coverage uses instrumentation (via the GUI or CLI) on a copy of the source code, and coverage data is recorded for both graphical diagnosis and certification ready evidence.
Coverage analysis can be used integrated with Cantata tests or used to measure execution from other tests, and data from multiple tests can be easily combined.
Analysis is made simpler by customisable coverage Rule Sets, which automate all the code instrumentation, data reporting and required coverage checking, for all the main software safety standards.
Gain insights from our whitepapers
C AND C++ SOFTWARE TESTING – AM I COVERED?
This paper looks at the various applications of the term ‘coverage’ in the software development industry for software written in C and C++.
WHICH CODE COVERAGE METRICS TO USE
This paper describes and discusses a selection of structural coverage metrics which are based on control flow analysis, looking at the practicality of their use for real software developments.
AN INTRODUCTION TO SAFETY CRITICAL SYSTEMS
This paper is aimed to serve as a tutorial for developers who are new to the development of software for safety critical systems, discussing the issues involved, introducing some of the techniques available to developers, and providing an overview of how Cantata can be used within the process.
15 WAYS TO MAXIMIZE THE VALUE OF UNIT TESTS IN SAFETY CRITICAL PROJECTS
This paper discusses approaches you can take with your unit testing to maximize their contribution to the development process.