Polyspace
MathWorks Polyspace comes in two flavours — Code Prover (sound abstract interpretation, proves absence of runtime errors) and Bug Finder (faster, finds defects without full soundness). Roboticks ingests both via the same connector.v1 sync modes: CLI push (primary) for desktop / CI Polyspace, plus REST cloud sync for Polyspace Access deployments. The adapter auto-detects the mode based on
base_url — point at a Polyspace Access URL and it talks REST; point at a local results folder and it reads JSON files.Code Prover proofs (proven Run-Time Error free) land as status=pass evidence with source_type=polyspace_runtime_proofs — that’s the high-signal evidence that maps directly to safety requirements.Tool-qualification preservation: every Polyspace-sourced evidence row is marked qualified_artifact=true. AI triage skips these rows; evidence packs preserve the raw JSON/XML byte-exact for ISO 26262 / DO-178C audit.Cloud sync availability: Polyspace Access cloud sync requires MathWorks Connections partnership to be active for your organization. Until then, CLI push covers all cases.Connector type and pricing
What ingests
Wire it in (v1 CLI push)
1
Subscribe in Roboticks
Settings → Integrations → Static analysis → Polyspace → Subscribe.
2
Run Polyspace and export results to JSON
Code Prover:Bug Finder:
3
Configure and sync
*.json files under the configured directory. Bug Finder findings land as fail evidence; Code Prover proofs (color: green or category in OVFL/OOB/ZDIV) land as pass evidence with source_type=polyspace_runtime_proofs — exactly the high-signal artifact safety auditors want to see.Cloud sync (Polyspace Access, post-Connections)
If your team runs Polyspace Access (the self-hosted web UI) AND your organization has MathWorks Connections partnership active, you can configure cloud sync:/api/v1/projects/{id}/runs + /api/v1/runs/{id}/findings. Incremental sync via modified-after={cursor}.
CI recipe
Defect mapping
Code Prover color → Roboticks severity
Bug Finder categories → Roboticks severity
Override at Settings → Findings → Severity mapping.
Where findings appear
- Traceability matrix — Polyspace findings for a source file appear on every requirement whose
@confirms-annotated test exercises that file. The cell shows a finding badge. - Requirement detail — Per-requirement view lists findings under Static analysis findings (Polyspace), with separate sub-sections for Code Prover and Bug Finder.
- Release evidence pack — A Polyspace appendix in the PDF lists open Reds, Oranges, and unjustified Bug Finder defects, with the raw XML reports in the ZIP.
- PR Check Run —
Roboticks · Polyspacewith new/resolved findings delta vs the base ref.
Justifications
Polyspace’s Review status (justification, comment) round-trips:<review> block. Defects marked Justified or No Action Planned are suppressed from gating logic and shown as muted in the UI.
Gating
Coverage from Code Prover proofs
A unique Code Prover output is proof coverage — the fraction of operations that were proven Green. Roboticks treats this as a coverage metric (alongside test coverage) so a release can be evaluated against, e.g., ”≥ 99% of pointer dereferences proved Green”.Troubleshooting
`Unsupported Polyspace XML schema version`
`Unsupported Polyspace XML schema version`
Roboticks targets the schema from Polyspace R2022a and newer. For R2021b and older, post-process with the XSLT MathWorks publishes in the Polyspace docs, or upgrade.
Findings don't link to a requirement
Findings don't link to a requirement
Polyspace findings link via source file. Files not exercised by any
@confirms-annotated test land under Unlinked findings. Add a test that imports/exercises the file with a @confirms("REQ-...") annotation.Polyspace results too large to upload
Polyspace results too large to upload
The CLI streams the XML; there is no upload size cap, but a ~500 MB report takes a few minutes. Use
--gzip to compress the upload payload.Next
LDRA
The other heavyweight C/C++ static-analysis tool.
Coverity
Black Duck Coverity for broad-language analysis.