~/talk

Crabtree: Rust API Test Synthesis Guided by Coverage and Type

Talkat OOPSLA 2024 · 2024-10-20..10-25· [rust, testing]
links:none on file
links:none on file
links:none on file
links:none on file
slides:none on file

Crabtree is a Rust API test synthesizer that combines program synthesis with fuzzing using a coverage- and type-guided DFS to grow tests and inputs; it natively generates well-typed tests for libraries with traits and higher-order functions by flattening closures into the search. Evaluated on 30 libraries, it exercises hundreds of APIs (vs prior tools that time out around ~20), achieves higher coverage with fewer tests, and found four memory-safety bugs accepted by the libraries.

AI-written summary · about

  1. 0:00Crabtree and Rust testing
  2. 0:22Crabtree and Rust importance
  3. 1:03Rust memory safety
  4. 2:49API testing for Rust
  5. 3:51Limitations of test synthesizers
  6. 5:19Crabtree’s test synthesis
  7. 6:02Cyrus scalability issues
  8. 7:52Crabtree’s DFS algorithm
  9. 9:58Rust traits and higher-order
  10. 11:44Flattening closure bodies
  11. 12:47Evaluation and coverage
  12. 14:33Crabtree performance gains
  13. 14:54Crabtree limitations
  14. 15:57Q&A
~/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.