~/talk

Autograder for Functional Programming and Beyond

Talkat ScalaCon 2022 · 2022-10-04..10-07· [scala, testing]
links:none on file
slides:none on file

Automated grader proves functional students correct by checking program equivalence against teacher references using the Stainless verification system and SMT solvers, generating functional induction proofs and counterexamples when disproved. It matches functions by type directed and test directed search, merges equivalent calls, and runs a clustering algorithm across hundreds of submissions (400+ in classes, benchmarks up to 800) achieving over 90% classification on many exercises while some complex or timeout cases remain.

AI-written summary · about

  1. 0:00Start
  2. 1:51Functional Programming: CS-210
  3. 7:12Why would students in an introductory course care about proofs?
  4. 8:57Why equivalence checking?
  5. 10:50Stainless
  6. 13:31Pairwise Equivalence Checking: An Example
  7. 17:18Function Call Matching: Solution
  8. 18:05Function Call Matching: An Example
  9. 19:11Function Call Matching: Type- and Test-Directed Search
  10. 22:33Clustering Algorithm: Illustration
  11. 24:05Clustering Algorithm: Bridges
  12. 36:11skills matter
~/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.