LDRAcover® - Code Coverage Reporting Tool
Overview
LDRAcover is the LDRA Code Coverage Reporting Tool. It provides users with the ability to quickly and easily view code coverage results such as callgraphs, flowgraphs, and code coverage reports in an interactive easy-to-use interface with powerful filtering capabilities.
LDRAcover provides test planning documents and colour-coded graphs to help you achieve the desired level of coverage, ranging from procedure/function calls to safety-critical modified condition/decision coverage.
LDRAcover Pass/Fail Callgraph |
LDRAcover also supports the verification of systems running customer provided test cases. These system tests can execute within LDRAcover, in a simulator or some other host-based environment or on a target platform.
"Jack Ganssle, industry software guru and chief consultant for The Ganssle Group, underlines the criticality of complete code coverage: “Studies confirm that, without the use of code coverage analysis, testing typically exercises only 50% of the code. Given typical bug rates, that means 100K lines of code in a program will ship with 2500 to 5000 bugs. These bugs lead to many systems failures.”
LDRAcover Pass/Fail Context |
“LDRAcover addresses this challenge, analysing the code and highlighting the sections that have not been executed by tests in an easy-to-see graphical interface,” confirmed Ian Hennell, LDRA Operations Director. “Thanks to tools like this, developers can quickly identify and correct application shortcomings whether they are caused by incomplete or erroneous test cases, imprecise or inadequate requirements or unexecutable dead code. In practical terms, code coverage cannot be performed manually. LDRAcover ensures companies can verify their applications with a focused, easy-to-use tool without having to invest in a complete tool chain.”
Features
Coverage Metrics
LDRAcover provides the following industry standard coverage metrics:
Code coverage report |
- Statement
- Branch/Decision
- Procedure/Function Call
LDRAcover adds:
- Branch Decision Condition
- Branch Condition Combination
- Modified Condition/Decision Coverage (MC/DC for DO-178B Level A)
Test Planning
MC/DC Test Case Planner - Details the steps necessary to achieve DO-178B Level A, Modified Condition/Decision Coverage.
MC/DC Test case planner report |
The LDRA tool suite enables visualisation of your system by:
- Callgraphs provide the ability to drill down to procedure/functions, graphically display procedure/function call coverage and dynamic callgraphs allow visualisation of test coverage.
- Flowgraphs provide annotations which display decision criteria, as well as graphical displays of statement and branch coverage
Reports
The automatically generated reports can be configured for pass/fail coverage levels, in a procedure by procedure layout or file layout. The details available are:
Pass/Fail reports |
- Annotated source code listings
- System overview reports
- Coverage metrics provided for:
- Procedures
- Files
- Systems
Benefits
- Effectively manage and measure code verification progress and gauge remaining effort
- Improve confidence in code reliability and robustness
- Quickly pinpoint inadequately tested software
- Reduce regression testing costs
- Improve code efficiency
- Reduced testing resources
- Increased product quality
- Shortened time-to-market
Deliverables
The key deliverable is the measurement of testing effectiveness, which details the statement, branch and test path coverage levels within the software.
Customer testimony confirms that LDRA has optimised its tools for ease of use:
“When evaluating our code, we found that it was easier to use the LDRA’s graphical interface than that of our IDE. LDRA displayed all of the subfunctions graphically. A thorough analysis only took five minutes, so it was easy for us to work iteratively with the tool.”
Frederic Rabouin, embedded software developer at Esprit Lean
“Once the scheme for instrumenting and capturing the coverage data had been designed, it was then quickly possible to automatically instrument all of the source code as part of the standard build process. Test execution histories were post-processed to yield coverage data for the entire Seaweed Systems source base in one test run.”
Company Quality Officer, Seaweed Systems
LDRAcover performs all levels of coverage analysis for the C, C++, Ada and Java languages. LDRAcover works on the host development platform as well as embedded target environments.