Repository navigation
v0.5.53
cfusa v0.5.53
Two MC/DC gate honesty fixes, found during a direct quality review of c-FuSa's
MC/DC support (not filed as a separate issue — fixed on request).
Fixed
cfusa coverage --mcdc-fileno longer silently passes on an empty
parse. A file that parses to zero MC/DC condition records used to
return a PASS ("nothing to fail") — indistinguishable, purely from
content, from a wrong path, a truncated file, or a future LLVM
export-format change the tool's string-scan no longer recognizes. Same
failure shape as theMAX_REQSsilent-truncation bug (v0.5.51, issue
#100): incomplete data must never read as complete. Now fails loudly
with a diagnostic note; the report also no longer shows a contradictory
100.00% (0/0 conditions) FAIL.- The branch-coverage MC/DC fallback is now honestly labeled. Without
--mcdc-file, the DAL-A/ASIL-D-required MC/DC gate falls back to
treating 100% branch coverage as a proxy — but the output was labeled
"MC/DC analysis", which is materially misleading: 100% branch/decision
coverage does not establish that every condition within a decision
independently affects its outcome (the entire reason MC/DC exists as a
distinct, stricter metric). Now: a stderrWARNINGwhenever the proxy
is used, the text label changed to "MC/DC gate (branch-coverage
proxy — NOT verified MC/DC)", a machine-readable
"mcdcProxy": {"verified": false, ...}JSON field, and--helptext
spelling out the distinction.
Installation
# Linux (amd64)
curl -Lo cfusa https://github.com/SoundMatt/c-FuSa/releases/download/v0.5.53/cfusa-linux-amd64
chmod +x cfusa && sudo mv cfusa /usr/local/bin/
# macOS (arm64)
curl -Lo cfusa https://github.com/SoundMatt/c-FuSa/releases/download/v0.5.53/cfusa-darwin-arm64
chmod +x cfusa && sudo mv cfusa /usr/local/bin/
# From source
cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --install buildVerify
cfusa version
cfusa qualifyWhat's Changed
- fix: MC/DC gate no longer silently passes on empty parse; branch-proxy honestly labeled by @SoundMatt in #117
- chore: bump v0.5.52 -> v0.5.53 by @SoundMatt in #118
Full Changelog: v0.5.52...v0.5.53