Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456 Jonathan Aldrich
My primary research interest is in applying language and program analysis/verification
techniques to software engineering problems. One example of my work is
ArchJava,
a language that integrates architectural specifications into Java code
and uses a type system to ensure that the implementation conforms to the
architectural design. My
dissertation
is the most complete reference on ArchJava.
I have worked in other research areas as well,
including typestate, separation logic,
ownership types, module systems for aspect-oriented programming,
compiler optimizations, and distributed systems.
We have 2 REUs available for SUmmer 2006. Please see the link above for
more information on possible projects, and contact
jonathan.aldrich@cs.cmu.edu
to apply.
Ego - A small research language design that uses a linear type system to statically type changes to the types of objects at run time.
Plaid - A new programming language focused on novel composition mechanisms - More information coming soon!
Formal Methods for Advanced Langauges - Leveraging type systems technology to support model checking in modern object-oriented languages
Language and Analysis Support for Embedded and Real-Time Systems - developing techologies for easing the development of Claytronics and other embedded, real-time systemsi
Teaching
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