Zekai Li, Lukas Lazarek, Evangelos Lamprou, and George Kapetanakis, Brown University; Konstantinos Mamouras, Rice University; Nikos Vasilakis, Brown University
This paper presents an overlay type system, RT, for statically checking streaming shell programs or fragments before their execution. RT’s regular types offer expressiveness appropriate for capturing a command’s standard input and output streams, support computationally tractable and efficient type checking, and provide an interface encoded as regular expressions—i.e., annotations and error messages familiar to developers versed in the Unix environment. RT’s extensions around type polymorphism, finite-state transductions, environment concretization, and syntactic primitives offer additional expressiveness and improved precision. Applying RT to hundreds of programs from various sources including StackOverflow, GitHub, and prior literature indicates efficient type checking (0.02s on average), effectiveness at discovering serious bugs (91% accuracy), and key benefits from RT’s extensions (up to 83% reduction in false negatives).
OSDI '26 Open Access Sponsored by
King Abdullah University of Science and Technology (KAUST)
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

author = {Zekai Li and Lukas Lazarek and Evangelos Lamprou and George Kapetanakis and Konstantinos Mamouras and Nikos Vasilakis},
title = {{RT}: Regular Types for the Streaming Shell},
booktitle = {20th USENIX Symposium on Operating Systems Design and Implementation (OSDI 26)},
year = {2026},
isbn = {978-1-939133-55-7},
address = {Seattle, WA},
pages = {2583--2600},
url = {https://www.usenix.org/conference/osdi26/presentation/li-zekai},
publisher = {USENIX Association},
month = jul
}
