Jonathan Aldrich
Assistant ProfessorDirector, Software Engineering Minor
Address and Contact Information
Institute for Software Research
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213-3891
jonathan.aldrich@cs.cmu.edu
http://www.cs.cmu.edu/~aldrich/
+1-412-268-7278 (phone)
+1-412-268-2338 (fax)
8212 Wean Hall (office)
Executive Assistant
Corina Bardasuc
+1-412-268-9928
cora13 at cs dot cmu dot edu
Research
I do programming languages and software engineering research focused on developing better ways of expressing and enforcing software design within source code, typically through language design and type systems. 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 release, article).
Projects
- Object-Oriented Foundations - New models for object-oriented languages
- Typestate - Verifying component and library usage constraints
- Separation Logic - Modular verification of higher-order, typed programs
- Ownership and Architecture - Capturing the high-level structure of object graphs
- ArchJava - 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
Selected Publications (full list, curriculum vitae)
Recent work
- Verifying Correct Usage of Atomic Blocks with Typestate. Nels Beckman, Kevin Bierhoff, and Jonathan Aldrich. To appear in Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '08), Nashville, TN, USA, October 2008.
- Error Reporting Logic. Ciera Jaspan, Trisha Quan, and Jonathan Aldrich. To appear in International Conference on Automated Software Engineering, September 2008.
- Integrating Nominal and Structural Subtyping. Donna Malayeri and Jonathan Aldrich. To appear in European Conference on Object-Oriented Programming (ECOOP ’08), July 2008.
Earlier work
- Using Types to Enforce Architectural Structure. Jonathan Aldrich. In Working International Conference on Software Architecture (WICSA ’08), February 2008.
- Open Modules: Modular Reasoning about Advice. Jonathan Aldrich. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP ’05), July 2005.
- Ownership Domains: Separating Aliasing Policy from Mechanism. Jonathan Aldrich and Craig Chambers. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP ’04), June 2004.
Courses
-
17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2008
-
15-313: Foundations of Software Engineering, Spring 2008 (with Bill Scherlis)
- 17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2007
- 15-313: Foundations of Software Engineering, Spring 2007 (with Bill Scherlis)
- 17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2006
- 15-413: Introduction to Software Engineering, Fall 2005
- 17-898: Reading Seminar: Modeling Dynamic Software Architectures, Spring 2005
- 17-654/17-754: Analysis of Software Systems (MSE and Ph.D.), Spring 2005
- 15-819: Objects and Aspects: Language Support for Extensibility and Evolvability, Fall 2004
- 15-312: Foundations of Programming Languages, Fall 2003
Upcoming Events
- 2008 Workshop on Specification and Verification of Component-Based Systems (SAVCBS'08), Steering Committee
- 2008 International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'09), Program Committee
- 2009 International Workshop on Foundations of Object-Oriented Languages (FOOL'09), Program Chair
Personal
In August 2003, I started as an assistant professor at Carnegie Mellon University. Before that, I was a graduate student in Computer Science and Engineering at the University of Washington, working with Craig Chambers and David Notkin.
My wife Becky Billock and I enjoy hiking, backpacking, and mountain climbing, and playing music together. We were married in 2000 and have two beautiful daughters, Sierra and Evelyn.