~/talk

Formal verification of Scala programs with Stainless

Talkat Typelevel Summit Lausanne 2019 · on Friday, 2019-06-14· [scala]
slides:none on file

Demonstrates an engineering-ready verifier for a large subset of Scala that extracts to Inox + Z3/Princess, checks pre/postconditions and overflow/array bounds, and runs a termination checker; claims automatic proof of typeclass laws and gives a worked proof-by-induction for list append associativity. Shows several built artifacts: a verified parallel MapReduce pipeline, a verified RRB-like sequence, and an actor-system counter invariant proved inductively; integration includes an SBT plugin and ghost erasure so proofs incur no runtime cost.

AI-written summary · about

  1. 0:00Introduction
  2. 0:28Outline
  3. 0:48What is Stainless
  4. 0:59Pure Scala
  5. 1:49Stainless
  6. 2:22Lower ring
  7. 2:47Inox
  8. 3:32Postconditions
  9. 3:59Math questions
  10. 4:43Static checks
  11. 5:17Termination checker
  12. 5:41Proofs
  13. 6:15Repetition
  14. 7:01Monoid
  15. 7:50Refresh Condition
  16. 9:05Associative
  17. 9:48Proof by induction
  18. 10:19Proof by inductive reasoning
  19. 10:37Stainless with support
  20. 11:00Stainless with no support
  21. 12:07Concrete implementation
  22. 13:20Actor systems
  23. 13:48Model
  24. 15:00Live Orient
  25. 16:10Wrapper
  26. 16:26More code
  27. 16:45Softlevel refinement types
  28. 17:12Sorted insert example
  29. 17:47Other features
  30. 18:20Upcoming features
  31. 18:58Skeleton 214 support
  32. 20:11More documentation
  33. 20:34Thanks
  34. 21:00Union types
~/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.