Menu

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

    Contact

    Knowledge base

    Embedded trace, coverage metrics and the parts of both that are usually explained badly.


    Most of what is written about embedded trace online is either a vendor datasheet or a tutorial that stops before the interesting part. These pages are our attempt at the middle: enough depth to be useful, without a sales pitch in every paragraph.

    Where a claim rests on a measurement we have not published, we say so rather than rounding it into a number.

    Start with the question you have

    Start here

    If you are new to the subject, three articles in this order:

    1. What embedded trace is, and what it is not
    2. The kinds of code coverage, and what each proves
    3. Why the object-to-source mapping breaks under optimization

    The third one is the article we would most like you to read. It describes a limit that applies to an entire class of tools, ours included.

    Embedded trace

    ArticleWhat it covers
    What embedded trace isThe vocabulary, the difference from debugging and profiling, and why it is compressed by construction - canonical explanation
    The trace protocols, comparedArm® ETM, Intel® PT, Nexus, MCDS - four commonly encountered encoding ecosystems for the same problem - canonical explanation
    Why trace is compressedDiscontinuities instead of instructions, and every surprise that follows from it - canonical explanation
    The trace portPins, clocks, connectors - the decision made at PCB design time
    Is this target traceable?Seven feasibility layers from core capability to metric - canonical explanation

    Coverage

    ArticleWhat it covers
    The kinds of coverageEight metrics, one ladder, and the blind spot of each - canonical explanation
    MC/DC, worked throughIndependence pairs in one example, and where the definition gets slippery - canonical explanation
    100 % MC/DC, 40 % EvidenceOne intermediate Boolean can halve what a green report proves; the published evidence, and the two kinds of chain behind it
    Source attribution in trace-based coverageTrace completeness, source attribution and coverage achieved are three questions, not one percentage - canonical explanation
    Why the mapping breaks under optimizationFour documented mechanisms, with assembly, and the three loss classes - canonical explanation
    Have you ever stepped through -O3 code?What the compiler writes down when it cannot decide, quoted from its own source
    DWARF as a chain of trustFunctionally silent, so ordinary tests do not validate it - what dedicated metadata verification looks like
    What instrumentation costsThe overhead argument honestly, and where it still holds - canonical explanation, with the measured SQLite -O3 comparison
    Evaluating coverage toolsFive questions that separate tool capabilities when the evidence must come from the optimized integration build, and the artifacts to ask for
    Generation is not verificationWhy an actor that writes the code cannot also judge it, and what has to sit outside the loop - canonical explanation

    Standards and practice

    ArticleWhat it covers
    What the standards requireFour regimes, one ladder, and the part that is argument rather than measurement - canonical explanation
    Dead code, deactivated code, and the restFour findings a coverage gap can expose - and the evidence check that comes first
    What an assessor may askTwelve questions, none of them answered by a percentage

    Applications

    ArticleWhat it covers
    Multi-core WCETCombining analysis, scenarios and measurement - and what each contributes - canonical explanation

    Why we write these

    Partly because the questions come up in every first conversation and it is faster to have written the answer down. Partly because a company that cannot explain its own field clearly probably does not understand it as well as it claims.

    And partly for a reason worth stating plainly: several of these articles describe limits that apply to our own products too. We would rather write them down than be asked about them.


    Something missing, or something wrong? Tell us. Corrections are welcome and get attributed.