Dr. Jonathan Aldrich
Professor, Software and Societal Systems
Bio
Jonathan's work at the intersection of programming languages and software engineering. His research explores how the way we express software affects our ability to engineer software at scale. A particular theme of much of his work is improving software quality and programmar productivity through better ways to express structural and behavioral aspects of software design within source code.
He has contributed to object-oriented typestate verification, modular reasoning techniques for aspects and stateful programs, and new object-oriented language models. For his work specifying and verifying architecture, Jonathan received a 2006 NSF CAREER award and the 2007 Dahl-Nygaard Junior Prize (press release, article). Right now he's excited to be working on the design of Wyvern, a new modularly extensible programming language.
Projects
Wyvern - A general-purpose language focused on security, modularity, and language extensibility.
Plaid - A typestate-oriented, gradually typed programming language
AEminium - A concurrent-by-default programming language, implemented as an extension to Plaid
Object-Oriented Foundations - New models for object-oriented languages
Typestate - Verifying component and library usage constraints (Plural tool)
Separation Logic - Modular verification of higher-order, typed programs
Ownership and Architecture - Capturing the high-level structure of object graphs
ArchJava (no longer active) - Enforcing run-time software architecture within object-oriented code
SASyLF - An educational proof assistant for language and logic metatheory
Crystal - A Eclipse-based framework for teaching dataflow analysis