~/talk

Helping users to reduce Brittleness in their Dafny programs - a success story

Talkat Dafny 2025 · on Sunday, 2025-01-19· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Dafny adds three concrete features that cut proof brittleness: assertion isolation (split proofs into assertion batches), hide and reveal (exclude function bodies from SMT unless needed), and opaque blocks (collapse many heap mutations into one layer). Brittleness is measured by SMT resource count and by mutating proofs thousands of times; an example moves verification from 11s to 16s, a brittle proof shows high relative standard deviation (~1.4+) and many timeouts, and AWS code reports large resource reductions in practice.

AI-written summary · about

  1. 0:00Reducing brittleness in Dafny
  2. 0:49Brittleness in Dafny proofs
  3. 2:36Measuring proof brittleness
  4. 4:03Resource count and brittleness
  5. 5:07Assertion isolation in Dafny
  6. 7:16Advanced assertion isolation
  7. 8:40Assertion isolation impact
  8. 9:44Function hiding to reduce complexity
  9. 11:50Opaque blocks for large methods
  10. 13:13Opaque blocks simplify verification
  11. 15:22Performance impact of opaque blocks
  12. 16:24Features and future work
  13. 17:32Q&A: Resource count
  14. 18:57Q&A: Opaque blocks use
  15. 19:41Q&A: Heap layer in opaque blocks
~/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.