~/talk

Forward build systems, formally

Talkat CPP 2022 · 2022-01-17..01-18· [software-architecture]
links:none on file
links:none on file
links:none on file
slides:none on file

Defines forward-build correctness as: either reproduce the result of running the script sequentially or report a hazard. Models commands, filesystems, Fabricate and Rattle in Agda, assumes deterministic commands and correct tracing. Proves Fabricate correct for hazard-free builds and proves sequential Rattle correct; speculative Rattle gets only a partial correctness theorem because speculation can induce a speculative right-before-read hazard that destroys inputs so rerun may fail.

AI-written summary · about

  1. 0:00Intro
  2. 0:32Backward Build System
  3. 1:00Correctness of a Build System
  4. 1:43Alternative
  5. 2:36Idempotence
  6. 3:16Not Idempotent (Read before Write Hazard)
  7. 3:44Not Idempotent (Write before Write Hazard)
  8. 4:09Hazards
  9. 4:24Correctness of a Forward Build System
  10. 5:07Outline
  11. 6:21Model Assumptions
  12. 8:23Script
  13. 9:33Fabricate model
  14. 10:11Correctness of Fabricate
  15. 11:47Parallelism in Rattle: Speculation
  16. 13:39Rattle model
  17. 14:53Correctness of Sequential Rattle
  18. 15:24Correctness of Speculative Rattle
  19. 16:00Correctness of Speculative Ratlle (False)
  20. 16:47Partial correctness
  21. 17:22Conclusion
~/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.