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:
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:
“Using coverage helped us to really think about whether certain functions and blocks were needed. We confirmed great confidence in our software as everything had been tested to 100% decision coverage"
Rolf Keller, Software Engineer,
“Cantata automatically generates test reports that prove what has been tested and how extensive the test coverage was for each test case”
Johnny Johansson, Global Validation & Verification Tools Manager, SAAB
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.