Stephen ChangView profile
Assistant Professor
Stephen Chang is an Assistant Professor in the Department of Computer Science at the University of Massachusetts Boston, affiliated with the PLT Research Group. His research focuses on programming languages, particularly type systems and language-oriented frameworks for creating extensible languages. He has contributed to foundational work on macro-extensible type systems, lazy evaluation semantics, and tools like Typed Rosette. His teaching spans courses in programming languages, formal languages, and computational theory. Chang holds a PhD in Computer Science from Northeastern University, where his dissertation explored the relationship between lazy and strict evaluation models. Research interests include advancing typed language design through macros, enabling flexible domain-specific extensions while maintaining soundness. Notable projects include Turnstile+, a Racket-based framework for building typed DSLs, and contributions to the Rosette solver-aided programming language. His work bridges theory and practice, with applications in formal verification, educational tools like ProofViz, and industry collaborations. Key publications include foundational papers on type systems as macros (POPL 2017/2020), lenient symbolic execution (POPL 2018), and lazy evaluation profiling (POPL 2014). Chang has advised multiple students in research roles, including Sloan IDS Fellow Chantelle Boateng and industry professionals like Kyle Clapper (Jabra) and Vishesh Yadav (Apple). Awards include the Best Student Paper Award at TFP 2010 for work on control stack evaluation. His teaching portfolio spans over a decade, covering theory of computation, programming paradigms, and formal language theory across institutions including Northeastern University and Harvard University.














