~/talk

A Sound Static Analysis Approach to I/O API Migration

Talkat OOPSLA 2025 · 2025-10-16..10-18· [software-architecture]
links:none on file
links:none on file
links:none on file
name:Diyu Zhou
links:none on file
links:none on file
slides:none on file

Sprout automatically migrates C programs between I/O APIs and guarantees behavioral equivalence by synthesizing replacement code from API specs and program analysis. It uses flow-sensitive pointer analysis plus typestate inference to tag ~202 semantic variables per benchmark, builds API state machines, removes minimal code fragments, propagates removed file-descriptor effects, and fills sketches to compile. Evaluation on programs averaging ~10k LOC shows average migration time 154s and 38% average speedup; the technique also adapts to databases.

AI-written summary · about

  1. 0:00I/O API migration research
  2. 1:02Legacy I/O APIs need updating
  3. 2:27API migration challenges
  4. 3:12Semantic types and behavioral equivalence
  5. 4:35State machines for correctness
  6. 5:38Complex control flows
  7. 6:21Program state interference analysis
  8. 7:25Intermediate state inference
  9. 9:13Synthesizing migrated program
  10. 10:39Evaluation and performance
  11. 11:48Q&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.