Menu

Searches titles, sections and text. ↑ ↓ to move, Enter to open, Esc to close. Opens with / or Ctrl+K.

    Contact

    CEDARtools.Coverage

    Structural coverage measured from the trace port on the optimized executable under test - available at integration and system level, not only in units.

    Coverage listing: per-line verdict with marker, source line and the verdict in words - covered, partial with its reason, not covered
    How a coverage result is read: line, source, verdict - and the reason where the verdict is not a plain yes. Illustration from our own viewer, not a measurement.

    In brief

    CEDARtools.Coverage measures structural coverage from the processor’s trace port - on the optimized executable under test, on real hardware, at operational speed, without a single coverage counter in the application. When configuration control establishes identity, that executable is the one you ship.

    That is not only a cleaner way to do what instrumentation does. It is what makes coverage available at integration and system level, where instrumentation is usually impractical and the evidence is therefore argued rather than measured.

    Where the evidence is usually missing

    Unit-level coverage is the part everyone has. It is measured on a host, on a separately built executable, in isolation - and it is comparatively cheap to obtain.

    The expensive question sits one level up: was this code exercised when it ran integrated, on the target, in the build that ships? Instrumenting that build changes it, and at integration and system level the instrumented executable is often not the one anyone wants to argue about. So the gap is usually closed by argument - unit coverage plus a justification for why the rest is acceptable.

    Measuring from the trace port removes the reason for that argument. The observation is passive, so the measured executable can be the delivered one, and the same measurement works whether the test that drives it is a unit test, an integration test or a full system run.

    No standard prescribes the test level at which structural coverage has to be measured, and unit-level measurement with a documented justification can remain a compliant route under the applicable objectives and the judgment of the approval authority. What changes is the quality of the evidence: a measurement on the integrated build is not the same claim as an argument about it.

    Coverage levels

    LevelHow it is observed
    Object-code executiondirectly from the trace, for the valid observed scope
    Statement / lineobject observations mapped to source via debug information
    Branch / decisionwhere outcomes are distinguishable in the object control flow
    Condition and MC/DCfrom the trace where observable; CEDARtools.Anchor supplements the rest with disclosed anchors

    Which observation mode yields which evidence on which trace path - the full matrix - is on the capability matrix.

    What sets it apart

    • Object code back to source, with the ambiguity shown. Trace observes object code; a coverage obligation lives in source. Optimization sits between the two and merges, moves or removes the distinctions that carry the mapping. Accemic reports what remains passively observable, what is ambiguous, and what is unresolved - it does not resolve a doubtful mapping by picking the likely answer. How the mapping works
    • MC/DC evidence survives optimization. Where the required source outcomes are not recoverable from the optimized object control flow, CEDARtools.Anchor adds explicit, named observation anchors and reports their measured effect separately - the application still maintains no coverage state.
    • The optimized executable under test - in passive mode, the binary you ship. Trace analysis inserts no coverage counters, logging calls or measurement runtime into the application instruction stream. The trace infrastructure still has to be configured, and the physical trace path consumes pins, bandwidth and power.
    • No fixed capture limit. Coverage is counted live in the CEDARbox instead of filling a capture buffer - subject to sustained lossless delivery and the verified limits of the named configuration.

    The technology in detail

    Two problems it is bought for

    Test prioritization - knowing which tests touch which code at integration level, and prioritizing the tests with the most impact; on the desktop, tools like Teamscale made this standard practice. Coverage for test prioritization

    Integration evidence - the certification argument one level above unit tests, on the optimized, linked, real thing. Coverage for integration evidence

    Export formats

    FormatUse
    HTMLreading and review
    CSVyour own pipeline
    AsciiDocinclusion in generated documents
    Gcov intermediate coveragehand-off to tools that read gcov output
    TESSY Hyper Coveragemerge with unit-level coverage from Razorcat’s tool
    Teamscale (native line coverage)trend analysis and test-gap analysis

    Honest limitations

    • The trace data has to get off the board. Which route is available depends on the silicon and on how the board was laid out, and that part is settled at PCB design time. It is a question for the feasibility review rather than a verdict - a workable route exists far more often than the first look suggests. Supported targets describes what the review checks and what to send.

    Tool qualification

    Certification projects often need qualification evidence for the tools in their verification chain - tool qualification data under DO-330, a tool confidence level argument under ISO 26262. Whether a kit applies and what it has to cover depends on your standard, your target configuration and the role the tool plays in your process. If you are interested in a tool qualification kit for CEDARtools.Coverage, contact our support - we will discuss scope and certification context with you.