~/talk

Model-based testing with TLA+ and Apalache

Talkat TLA+ Community Event 2020 · on Thursday, 2020-10-15· [testing]
links:none on file
links:none on file
slides:none on file

Model-based testing uses TLA+ assertions and the Apalache model checker to auto-generate JSON counterexamples, transform them (via JSONata and tendermint-testgen) into static integration tests, and run them inside the normal cargo test flow. Models explore 4–7 validators and 3–5 blocks, find corner cases (less vs <=, future timestamps), and detect a real validator-ordering bug missed by standard tests. The pipeline increases coverage, keeps spec and code in sync, and produces executable failing cases with Apalache and model-based testing.

AI-written summary · about

  1. 0:00Introduction to presenters
  2. 1:03Who is Informal Systems
  3. 4:04Tendermint Light Client overview
  4. 10:31Formalizing specs with TLA+
  5. 14:57Apalache model checker explained
  6. 18:54Standard testing drawbacks
  7. 20:46Model-based testing demo
  8. 22:57TLA+ test integration
  9. 24:26Counterexample to test conversion
  10. 26:16Results and bug findings
  11. 27:46Model-based testing benefits
  12. 28:29Future work and roadmap
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.