"Rehabilitating the POSIX shell"
Michael Greenberg, Pomona College
Friday, October 19, 2018 at 12:00 Noon
Room 368 (CIT 3rd Floor)
We build intricate systems with complex algorithms and invariants, aiming for guarantees of correctness and performance... and then we maintain and deploy these systems with shell scripts! What *are* shell scripts? If the POSIX shell is a programming language, what are its syntax and semantics? Can we apply PL tools to reason about the shell? Why haven't prior PL attempts at understanding the shell redeemed it? In this talk, I'll explain the shell's semantics, demonstrate a tool for understanding the shell built on a mechanized small-step semantics of the shell, and explain why my approach is different from prior academic work on the shell.
Host: Shriram Krishnamurthi, Theo Benson, Rodrigo Fonseca, and Tim Nelson