The run
- Ask did the fixtures pass
- Exit 0 if go test is green
- Why the suite never asked realize or vacuity
Topic · software verification
Gist
Software verification is the pipeline that asks whether this change still fits the current requirement graph. Proof runs proof verify. That is not a green unit suite. Sonar still owns the quality gate. Jama still authors.
proof verify
Keep the suite if it already fails on a broken fixture. Keep Sonar if you already fail on a rule. Neither one runs validate, realize, consistency, and vacuity in that order.
01 · The merge that never asked the graph
You can merge three green tests and still have never asked whether the shalls still realize, stay consistent, or stay non-vacuous.
Wikipedia calls software verification the work of showing a program satisfies its specification. In this repo that work is one command. proof verify is the ordered pipeline: validate, realize, consistency, vacuity, gaps, lint, then testlink and coverlink if you passed the inputs, then suspect. Unknown step names fail before the pipeline runs. --fail-level error exits 1 on fail and 0 on warn. warn and info exit 2 on warn.
The solver family lives on
formal methods
as proof verify-properties. One function lives on
Z3 / Kind2 on one function.
The printed plan lives on
software verification plan.
The printed report lives on
software verification report.
This hop is the run itself, not the PDF and not one lemma.
proof verify
proof verify --verbose
proof verify --format json
testlink runs when you pass --test-results. coverlink runs when you pass --coverage-report. Without those files the steps are recorded as skipped. That skip is named. It is not a silent pass on tests you did not attach.
02 · The exhibit
The tests still pass. Click the tabs.
The run
This hop
No verify JSON. validate / realize / consistency / vacuity never ran.
No pipelineThe run
Keep the suite. It still owns the fixtures. That is not this hop.
Keep the suiteProof
Same change. A green suite, or this pipeline. Click the tabs.
| Surface | What they do | What Proof does | What we lose |
|---|---|---|---|
| Unit suite / CI green | The fixtures you wrote. | The ordered graph pipeline, including realize and vacuity. | testlink and coverlink stay skipped unless you attach the files. A green verify is not a proof of the Go. |
| SonarQube quality gate | Rules, smells, coverage percent on the tree. | Whether the shalls still realize and stay consistent. | Not Sonar. We have not run a frozen Sonar pack on this graph. Proof vs SonarQube. |
| Formal methods | A solver on one authored property. | The whole pipeline. Properties are one family inside it. | Not Coq. Not SPARK. See formal methods. |
| Software verification plan | The artefact that says how you will verify. | The run. The plan is printed from the graph, not this hop. | Not IEEE 1012. See software verification plan. |
| Jama | The authoring programme. Reviews if you put them there. | Fail the merge when a pipeline step fails. | Not Jama's V&V. Jama still authors. We have not run a frozen Jama pack. |
The teaching graph is still one change next to one graph. Run verify. Read the skipped steps. Attach test results if you want testlink. Attach coverage if you want coverlink. Do not treat a green go test as this pipeline.
proof verify --verbose
proof verify --format json
proof config get project.verification.component_workers
The solver family stays on formal methods. One function stays on Z3 / Kind2 on one function. The printed report stays on software verification report. Jama still authors. Proof vs Jama.
03 · The honest loss
A skipped testlink is named. A green verify is not a proof of the Go. Jama still authors.
Without --test-results and --coverage-report, those steps are skipped. The JSON records the skip. It does not pretend the suite ran. verify_passes can still warn when the nested steps look noisy. A slow slice is a real solver, not a hung CLI. Coq still owns the assistant. SPARK still owns Ada. Sonar still owns the quality gate. We have not scored this graph against a frozen Sonar pack or a second human's V&V judgment. The loss is named, not scored.
The artefact stays on software verification plan and software verification report. The engagement stays on formal verification of a component. Jama still authors.
04 · Nearby questions
What is software verification? Same question. Same URL.
Is this formal methods? Formal methods is the solver family. This hop is the whole pipeline. See formal methods.
Is this a software verification plan? No. That hop prints the plan. This hop runs the pipeline. See software verification plan.
Is this a software verification report? No. That hop prints the report. See software verification report.
Is Proof a SonarQube alternative for verification? No. Sonar still owns the quality gate. Proof vs SonarQube.
Is Proof a Jama alternative for V&V? No. Jama still authors. Proof vs Jama.