Carnegie Mellon University

Jonathan Aldrich

Dr. Jonathan Aldrich

Professor; Director, Software Engineering Ph.D. program, Software and Societal Systems

Address
5000 Forbes Avenue
Pittsburgh, PA 15213

Bio

I work at the intersection of programming languages and software engineering. My research explores how the way we express software affects our ability to engineer software at scale. A particular theme of much of my work is improving software quality and programmer productivity through better ways to express structural and behavioral aspects of software design within source code.

I have contributed to object-oriented typestate verification, modular reasoning techniques for aspects and stateful programs, and new object-oriented language models. For my work specifying and verifying architecture, I received a 2006 NSF CAREER award and the 2007 Dahl-Nygaard Junior Prize (press releasearticle). Right now I'm 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

Publications

All papers