Year: 2025
Type: conference-paper
Abstract: Shell programming is as prevalent as ever. It is also quite complex, due to the structure of shell programs, their use of opaque software components, and their complex interactions with the broader environment. As a result, even when exercising an abundance of care, shell developers discover devastating bugs in their programs only at runtime: at best, shell programs going wrong crash the execution of a long-running task; at worst, they silently corrupt the broader environment in which they execute---affecting user data, modifying system files, and rendering entire systems unusable. Could the shell's users enjoy the benefits of semantics-driven static analysis before their programs' execution---as offered by most other production languages?
Authors: Lukas Lazarek, Seong-Heon Jung, Evangelos Lamprou, Zekai Li, Anirudh Narsipur, Eric Zhao, Michael Greenberg, Konstantinos Kallas, Konstantinos Mamouras, Nikos Vasilakis
Language: English
Subfield: Artificial Intelligence
Field: Computer Science
Domain: Physical Sciences
Open Access status: hybrid
Awards: G2773468407, G2796279259, Graduate Research Fellowship Program (GRFP), Collaborative Research: CSR: Core: Medium: Scaling Unix/Linux Shell Programs, CAREER: Programming Abstractions and Formal Reasoning for IoT Application Development, G6447139881, Collaborative Research: SaTC: CORE: Medium: Securing Continuous Integration Workflows
OpenAlex ID: W4411092028
