Research
My research explores how to leverage programming language
technologies to make complex systems easier to build, maintain, and
extend. For example, I have investigated replication systems
[NSDI ’09], content
distribution networks
[NSDI ’06
and NSDI ’07], pervasive
applications [TOCS 22(4)], and
access control policies
[TOCS 19(1)].
The xtc project provides the
foundation for much of my recent work, including my work on modular
syntax [PLDI ’06];
multilingual programming
[OOPSLA ’07], debugging
[OOPSLA ’09], bug finding
[PLDI ’10], and macros
[ECOOP ’12]; as well as
parsing all of C
[PLDI ’12]. Previous
projects include the one.world
architecture for pervasive computing as well as
the SPIN
and exokernel
extensible operating systems.
See my complete list
of publications.
My Ph.D. students
are Paul
Gazzillo and Anh Le. Robert
Soulé is a Postdoc at Cornell. I also am looking for new
students!
Teaching
- Object-Oriented Programming: An undergraduate
course on using objects for building large-scale programs.
- Graduate Object-Oriented Programming: A graduate
course on object-oriented design and implementation.
- Honors Operating Systems: A graduate course on
operating systems and distributed systems.
- Programming Languages: A graduate course on the
design, implementation, and use of programming languages.
- Web Services and Applications: A graduate course
on architecting the dynamic web.
- Building Distributed and Pervasive Applications:
A senior-level project course on distributed applications.
Professional Activities
Honors:
Select program committees:
- POPL: ACM SIGACT-SIGPLAN Symposium on Principles
of Programming Languages.
- PLDI: ACM SIGPLAN Conference on Programming
Language Design and Implementation.
- VEE: ACM SIGPLAN/SIGOPS International Conference
on Virtual Execution Environments.
- OOPSLA: ACM SIGPLAN Conference on Object-Oriented
Programming, Systems, Languages and Applications.
- PLOS: ACM SIGOPS Workshop on Programming
Languages and Operating Systems.
- EuroSys: the European Systems Conference.
- USENIX: USENIX Annual Technical Conference.
- PerSec: IEEE International Workshop on Pervasive
Computer and Communication Security.
- HotOS: Workshop on Hot Topics in Operating
Systems.
- SACMAT: ACM Symposium on Access Control Models
and Technologies.
Etc.