~/talk

Verifying Correct Usage of Context-Free API Protocols

Talkat POPL 2021 · 2021-01-17..01-22· [security]
links:none on file
slides:none on file

CFPChecker verifies context-free grammar API protocols by over-approximating program API sequences with a CFG, checking language inclusion, and running counterexample-guided refinement that uses SMTInterpol for interpolants and z3 for feasibility while building PCFAs from Soot bytecode. Implementation runs on 10 Java applications (12 API–client pairs), initially finds 3 real bugs and after fixes verifies all clients, with average runtime under 10 minutes and median about 1 minute.

AI-written summary · about

  1. 0:00Intro
  2. 0:12MOTIVATION
  3. 1:04CONTEXT-FREE API PROTOCOLS
  4. 2:12TYPESTATE ANALYSIS
  5. 2:41THIS WORK Generalizes prior work on verifying correct API usage!
  6. 2:57SPECIFICATION LANGUAGE
  7. 4:32ANATOMY OF CFP CHECKER
  8. 6:17MOTIVATING EXAMPLE
  9. 7:05PROG. INSTRUMENTATION
  10. 9:13ABSTRACTION REFINEMENT LOOP
  11. 10:03PROGRAM ABSTRACTION
  12. 11:31INCLUSION CHECK
  13. 11:54COUNTEREXAMPLE FEASIBILITY
  14. 13:00ELIMINATING COUNTEREXAMPLE
  15. 14:34REFINEMENT - NEW CFG
  16. 15:34NEW ABSTRACTION
  17. 16:09IMPLEMENTATION
  18. 16:36EVALUATION
  19. 16:50CFPCHECKER PERFORMANCE
~/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.