|Position: Professor and Chair
Office: TPL 302
E-mail: [email protected]
- Ph.D. Stanford University 2000
- M.S. Stanford University 1998
- B.S. Stanford University 1995
- Design and implementation of programming languages and virtual machines
- Type-based program analysis
- Verification of multithreaded programs
- Programming environments
Stephen received his PhD from Stanford University in 2000. His graduate work focused on mobile code security, and specifically on how to ensure type safety for downloaded Java programs.
He then worked at the Compaq Systems Research Center on various programmer productivity tools for several years before coming to Williams.
Stephen’s current research focuses on light-weight checkers to identify defects in software, such as race conditions, atomicity errors, and specification violations. He typically teaches courses on introductory computer science, data structures and algorithms, and programming languages.