
Jonathan Aldrich
Associate 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)
8105 Wean Hall (office)
personal contact info and cell phone (CMU only)
Executive Assistant
Corina Bardasuc
+1-412-268-9928
cora13 at cs dot cmu dot edu
Research
My research goal is to improve the quality of software and the productivity of engineers by providing novel ways to express and enforce 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).
New Student Recruiting
Projects
I also have new project ideas (CMU only) for undergraduate, masters, and Ph.D. students.- Plaid - A programming language supporting emerging programming paradigms
- 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 - 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
- Typestate-Oriented Programming. Jonathan Aldrich, Joshua Sunshine, Darpan Saini, and Zachary Sparks. In Proceedings of Onward!, 2009. (presentation)
- Static Extraction and Conformance Analysis of Hierarchical Runtime Architectural Structure using Annotations. Marwan Abi-Antoun and Jonathan Aldrich. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '09), 2009.
- CZ: Multiple Inheritance without Diamonds. Donna Malayeri and Jonathan Aldrich. To appear in Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '09), 2009.
Earlier work
- Modular Typestate Checking of Aliased Objects. Kevin Bierhoff and Jonathan Aldrich. In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '07), October 2007.
- 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.
Upcoming Events
- 2010 Conference on Programming Language Design and Implementation (PLDI'10), Program Committee
- 2010 International Symposium on the Foundations of Software Engineering (FSE'10), Publications 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.