Book Chapters
- Practical Exception Specifications. Donna Malayeri and Jonathan Aldrich. In Christophe Dony, Jψrgen Lindskov Knudsen, Alexander B. Romanovsky, and Anand Tripathi, editors, Advanced Topics in Exception Handling Techniques, volume 4119 of Lecture Notes in Computer Science, pages 200-220. Springer, 2006.
Refereed Journal Publications
- Differencing and Merging of Architectural Views. Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas, Bradley Schmerl, and David Garlan. In Automated Software Engineering Journal, 15(1):35-74, 2008.
- A Case Study in Re-engineering to Enforce Architectural Control Flow and Data Sharing. Marwan Abi-Antoun, Jonathan Aldrich, and Wesley Coelho. In Journal of Systems and Software, 80(2):240-264, February 2007.
- Discovering Architectures from Running Systems. Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, and Hong Yan. In IEEE Transactions on Software Engineering, 32(7):454-466, July 2006.
- Comprehensive Synchronization Elimination for Java. Jonathan Aldrich, Emin Gun Sirer, Craig Chambers, and Susan Eggers. Science of Computer Programming, 47(2-3):91-120, May-June 2003.
Refereed Conference Publications
- 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.
- Checking Semantic Usage of Frameworks. Ciera Jaspan and Jonathan Aldrich. In Library Centric Software Design Symposium, 2007.
- Using Types to Enforce Architectural Structure. Jonathan Aldrich. In Working International Conference on Software Architecture (WICSA 08), February 2008.
- Modular Typestate Checking of Aliased Objects. Kevin Bierhoff and Jonathan Aldrich. In Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 07), October 2007.
- Lightweight Object Specification with Typestates. Kevin Bierhoff and Jonathan Aldrich. In Proceedings of Foundations of Software Engineering (FSE 05), September 2005.
- Permission-Based Ownership: Encapsulating State in Higher-Order Typed Languages. Neel Krishnaswami and Jonathan Aldrich. In Proceedings of Programming Language Design and Implementation (PLDI 05), June 2005.
- Open Modules: Modular Reasoning about Advice. Jonathan Aldrich. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 05), July 2005.
- Prototypes with Multiple Dispatch: An Expressive and Dynamic Object Model. Lee Salzman and 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.
- DiscoTect: A System for Discovering Architectures from Running Systems. Hong Yan, David Garlan, Bradley Schmerl, Jonathan Aldrich, and Rick Kazman. In Proceedings of International Conference on Software Engineering (ICSE 04), May 2004.
- Language Support for Connector Abstractions. Jonathan Aldrich, Vibha Sazawal, Craig Chambers, and David Notkin. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 03), July 2003.
- Alias Annotations for Program Understanding. Jonathan Aldrich, Valentin Kostadinov, and Craig Chambers. In Proceedings of Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 02), November 2002.
- Architectural Reasoning in ArchJava. Jonathan Aldrich, Craig Chambers, and David Notkin. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 02), June 2002.
- ArchJava: Connecting Software Architecture to Implementation. Jonathan Aldrich, Craig Chambers, and David Notkin. In Proceedings of the International Conference on Software Engineering (ICSE 02), May 2002.
- Static Analyses for Eliminating Unnecessary Synchronization from Java Programs. Jonathan Aldrich, Craig Chambers, Emin Gun Sirer, and Susan Eggers. In Proceedings of the Sixth International Static Analysis Symposium (SAS 99), September 1999.
- Providing Easier Access to Remote Objects in Client Server Systems. Jonathan Aldrich, James Dooley, Scott Mandelsohn, and Adam Rifkin. In Thirty-first Hawaii International Conference on System Sciences (HICSS-31), January 1998.
Workshop Papers, Demonstrations, and Technical Reports
- A Theory of Linear Objects. Matthew Kehrt and Jonathan Aldrich. In 2008 International Workshop on Foundations of Object-Oriented Languages (FOOL '08), San Francisco, California, January 2008.
- Checking and Measuring the Architectural Structural Conformance of Object-Oriented Systems. Marwan Abi-Antoun and Jonathan Aldrich. Carnegie Mellon University Technical Report CMU-ISRI-07-119, December 2007.
- Modular Verification of the Subject-Observer Pattern via Higher-Order Separation Logic. Neelakantan R. Krishnaswami, Lars Birkedal, and Jonathan Aldrich. In ECOOP 2007 Workshop on Formal Techniques for Java Like Programs, July 2007.
- Ownership Domains in the Real World. Marwan Abi-Antoun and Jonathan Aldrich. In International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), in conjunction with the European Conference on Object-Oriented Programming (ECOOP), 2007.
- Compile-Time Views of Execution Structure Based on Ownership. Marwan Abi-Antoun and Jonathan Aldrich. In International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), in conjunction with the European Conference on Object-Oriented Programming (ECOOP), 2007.
- Eclipse Plug-ins for Statically Checking and Visualizing Ownership Domain Annotations. Marwan Abi-Antoun and Jonathan Aldrich. Research Demonstration, European Conference on Object-Oriented Programming (ECOOP), 2007.
- A Programming Model for Failure-Prone, Collaborative Robots. Nels Beckman and Jonathan Aldrich. In the 2nd International Workshop on Software Development and Integration in Robotics (SDIR), Rome, Italy, April 2007.
- Combining Structural Subtyping and External Dispatch. Donna Malayeri and Jonathan Aldrich. In 2007 International Workshop on Foundations and Development of Object-Oriented Languages (FOOL/WOOD'07), Nice, France, January 2007.
- JavaD: Bringing Ownership Domains to Mainstream Java. Marwan Abi-Antoun and Jonathan Aldrich. Carnegie Mellon University Technical Report CMU-ISRI-06-110, May 2006.
- A Language-based Approach to Specification and Enforcement of Architectural Protocols. Kevin Bierhoff, Jonathan Aldrich, and Sangjin Han. Technical Report CMU-ISRI-07-121, April 2006.
- Ego: Controlling the Power of Simplicity. Andi Bejleri, Jonathan Aldrich, and Kevin Bierhoff. In proceedings of the POPL 06 Workshop on Foundations of Object-Oriented Languages (FOOL 06), January 2006.
- Improving System Dependability by Enforcing Architectural Intent. Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, and Tony Tseng. In proceedings of the ICSE 2005 Workshop on Architecting Dependable Systems (WADS 05), May 2005.
- Modeling and Implementing Software Architecture with Acme and ArchJava. Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, and Tony Tseng. Demonstration, in proceedings of the International Conference on Software Engineering (ICSE 05), May 2005.
- Selective Open Recursion: Modular Reasoning about Components and Inheritance. Jonathan Aldrich and Kevin Donnelly. In proceedings of the FSE 2004 Workshop on Specification and Verification of Component-Based Systems (SAVCBS 04), November 2004.
- Open Modules: Reconciling Extensibility and Modularity. Jonathan Aldrich. In Proceedings of the Workshop on Software Engineering Properties of Languages for Aspect Technologies (SPLAT 04), March 2004.
- Statically-Scoped Exceptions: a Typed Foundation for Aspect-Oriented Error Handling. Neel Krishnaswami and Jonathan Aldrich. Carnegie Mellon Technical Report CMU-ISRI-05-102, published on web January 2004, TR version January 2005.
- Architecture-Centric Programming for Adaptive Systems. Jonathan Aldrich, Vibha Sazawal, Craig Chambers, and David Notkin. In Proceedings of the Workshop on Self-Healing Systems (WOSS 02), November 2002.
- Architecture-Centric Programming for Context-Aware Configuration. Vibha Sazawal and Jonathan Aldrich. In Proceedings of the OOPSLA 02 Workshop on Engineering Context-Aware Object-Oriented Systems and Environments (ECOOSE 02), November 2002.
- Challenge Problems for Separation of Concerns. Jonathan Aldrich. In Proceedings of the OOPSLA 2000 Workshop on Advanced Separation of Concerns, October 2000.
- Evaluating Module Systems for Crosscutting Concerns. Jonathan Aldrich. University of Washington PhD Generals Examination Report, September 2000.