Skip to main content

Lab Notebook · Certifiable by Construction

Safety profiles at compile time — the July state of a memory leak being a compile error

The Lab Notebook's dated arc marker for QUANTA's safety certifier: qc2 --safety nasa-p10.safety rejects violations across six static checkers (no-heap-after-init, bounded loops, no recursion, assert density, checked returns, function-length) and issues a certificate on clean code. Grounded in 15 years of rail safety-critical delivery. Proven for the checkers that run today; the wider profile lattice (SIL4, DO-178C, and beyond) and WCET certification are designed, not yet built.

JR
Jon RossFounder, vocabotics — 15 years building safety-critical systemsLab report · dated 2 July 2026
Verified by a human. Drafted with AI, verified by a human. Jon Ross, 2 Jul 2026
Living document. Reviewed 2 Jul 2026
Entry date
2 July 2026
Category
Language
Lead over the world
the discipline, not yet the full lattice
Access
🔓 Public
Shipped & measuredPartly proven

A memory leak used to be a bug you found in testing. Now it's a line the compiler refuses to emit.

6
static safety checkers run at compile time under --safety nasa-p10
REJECTS
the compiler's behaviour on a violation — refusal, not a warning
1 certificate
issued on clean code that passes all six checkers
nasa-p10 ← SIL4 ← DO-178C
the designed profile lattice — one rung built, the rest above it designed

Honest evaluation

Partly proven

Proven for the six checkers that run today — a violation genuinely does not compile, and clean code genuinely gets a certificate. Partly proven overall because the wider profile lattice above nasa-p10, and a WCET certificate, remain designed rather than built.

What would prove or disprove it further

What would move the lattice half toward proven: the SIL4 rung actually compiling and certifying against a real program, the same way nasa-p10 does today, not just existing as a designed shape above it. What would move the whole thing toward disproven on the built half: a violation that should be rejected slipping through one of the six checkers undetected — that hasn't happened, and this entry does not claim to have exhaustively tried to break it.

The evidence — full reasoning behind the verdict

Verdict: partly-proven. Split the claim in two, because the two halves are at genuinely different stages. The first half — six static checkers running at compile time, rejecting real violations, issuing a real certificate on clean code — is proven: it runs, it refuses what it says it refuses, and the refusal carries the rule and the line, which is the audit trail an assessor actually wants.

The second half — the full profile lattice up through SIL4 and DO-178C, and a WCET certificate — is designed, not proven. Calling the whole system "proven" would round up a real, working mechanism into a much bigger claim than what currently compiles. Calling it "vision" would round down a mechanism that already rejects real code today. Partly-proven is the accurate seam between the two.

Fifteen years of safety-critical rail delivery leaves you with one habit that doesn't go away: you stop trusting "it passed the tests" and start asking for a reason the unsafe version could never have been built at all. This is the dated notebook entry for the point that habit became a compiler flag.

What it was

qc2 --safety nasa-p10.safety is QUANTA's safety certifier: a compile-time gate that runs six static checkers against a NASA/JPL "Power of Ten"-style profile and refuses to build a program that violates one. Clean code gets a certificate. The mechanism is general — a .safety profile parser reads a named profile file, and profiles form a lattice, with nasa-p10 sitting under SIL4, which sits under DO-178C.

What we built

Shipped & measured

Six static checkers run under the profile: no heap allocation after initialisation, bounded loops only, no recursion, a function-length ceiling, a minimum assertion density, and checked return values on every call. A program breaking any one of these does not compile — not a lint warning, a build failure. The mechanism is grounded in real delivery, not theory: roughly fifteen years of safety-critical work across global rail and metro systems, where "wrong" is a safety risk and every claim gets assessed by someone whose job is to disbelieve it by default.

What we learned — including the honest gaps

The line between built and designed is held deliberately, and it matters more here than almost anywhere else on this site, because the claim is "certifiable." Only the nasa-p10 rung of the lattice actually compiles and certifies today. SIL4, DO-178C, and the further-out rungs above them are designed, not proven — the lattice shape exists, the rung that runs does not yet extend that far.

A WCET (worst-case execution time) certificate — bounding time, not just memory and control-flow shape — is the named next build, not a shipped capability. For a hard-real-time assessor, bounding time is often the more important half of the safety story, and this entry says plainly that half is still ahead.

And the six checkers are exactly what they say: six specific, named properties. A safety property that isn't on that list — something outside no-heap-after-init, bounded loops, no recursion, assert density, checked returns, and function length — is not covered by this mechanism as it stands today.

Where it went / status

Live and running as of this entry's date, and the lab's clearest example of "a memory leak is a compile error" holding up as a literal, checkable statement rather than a slogan. The fuller measured detail — including the specific arena-bug reduction this mechanism made possible in practice — is tracked on the linked research page, which updates as the remaining rungs of the lattice and the WCET certificate move from designed to built.

What is still open — kept visible

The honest edges, next to the wins. This is what turns 🔬 into 🟢 — honestly.

  • Only the nasa-p10 rung of the lattice compiles and certifies today. SIL4, DO-178C, and the other named rungs above it are designed, not yet proven — this entry does not claim otherwise.
  • A WCET (worst-case execution time) certificate — bounding time, not just memory and structure — is designed and is the named next build, not yet shipped.
  • The six checkers catch what they check: no-heap-after-init, bounded loops, no recursion, an assert-density floor, checked returns, and a function-length ceiling. A safety property outside that list is not covered by this mechanism yet.

Proofs & sparks

We demonstrate rather than assert. Each ✅ proof is a visible result with a hard figure.

  • A memory leak is now a compile error6 checkers · 1 certificateqc2 --safety nasa-p10.safety rejects violations across six static checkers (no-heap-after-init, bounded loops, no recursion, function-length, assert-density, checked-returns) and issues a certificate on clean code.

Where this connects

Sources

  1. vocabotics Dashboard — Cross-cutting: Safety (certifiable by construction, six static checkers, nasa-p10 lattice)vocabotics internal record · as of 2026-07-02
  2. The Power of Ten — Rules for Developing Safety-Critical CodeG. J. Holzmann, NASA/JPL (the P10 ruleset the profile implements) · as of 2006

    We use cookies.