~/talk

Kayfabe: Model-based program testing with TLC

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

Kayfabe is a C# harness that runs TLC, extracts the full TLC state graph, computes a minimal spanning set of behaviors by reducing routing to TSP (NP‑hard) and then drives the program through each behavior checking state equality and action enablement. It supports Pressler-style trace checking and model‑based testing, uses Google OR-Tools for TSP heuristics, requires a serializer/mapping for GUIDs and hidden variables, and currently scales practically to models up to roughly 10,000 states before routing (V^2) becomes the bottleneck.

AI-written summary · about

  1. 0:00Intro
  2. 0:18Motivation
  3. 0:58Tradeoffs between testing methods
  4. 1:45What is Kayfabe?
  5. 2:09Trace Checker: Idea
  6. 4:22Model-Based Testing: Kayfabe Model Player
  7. 7:29Model Player: Blindspots
  8. 8:54System Architecture
  9. 10:09Model Player: Steps
  10. 10:51Routing Algorithm: Problem Description
  11. 11:48Routing Algorithm: Graph Construction 2
  12. 12:59Routing Algorithm: Computing the Tour
  13. 14:13Transition Inspection Problem
  14. 15:19Chinese Postman Approach - Example
  15. 16:06TLA+ Serialization
  16. 16:50TSP Solver
  17. 17:49How to build a Kayfabe model harness
  18. 18:28Example: MapCollection
  19. 18:57Data Contracts
  20. 19:19Execution Context
  21. 19:49State Mapping Function
  22. 20:36Implementing Actions
  23. 21:15Running the Test
  24. 21:46Routing Algorithm Alternatives
~/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.