Work

A Sound Static Analysis Approach to I/O API Migration

Year: 2025
Type: article
Abstract: The advances in modern storage technologies necessitate the development of new input/output (I/O) APIs to maximize their performance benefits. However, migrating existing software to use different APIs poses significant challenges due to mismatches in computational models and complex code structures surrounding stateful, non-contiguous multi-API call sites. We present Sprout, a new system for automatically migrating programs across I/O APIs that guarantees behavioral equivalence. Sprout uses flow-sensitive pointer analysis to identify semantic variables, which enables the typestate analysis for matching API semantics and the synthesis of migrated programs. Experimental results with real-world c programs highlight the efficiency and effectiveness of our approach. We also show that Sprout can be adapted to other domains, such as databases.
Authors: Shangyu Li, Zhaoyang Zhang, Sizhe Zhong, Diyu Zhou, Jiasi Shen
Language: English
Open Access status: diamond
OpenAlex ID: W4414978677
FWCI:
Cites: 62
Cited by:
Related to: