Research Interests
My main research interests lie in compilers, computer architecture, and systems. In particular, I'm interested in designing architectures and software systems that make application development less burdensome on programmers. I'm exploring compiling for future and modern architectures, dynamic translation, and hardware/software codesign.
In addition, I'm interested in computer science education. In particular, I'm designing new educational software tools for use in college-level systems courses.
Any students interested in working with me on an independent study or a summer project should contact me.
For more information, see my CV.
Research Projects
Here are a few of the research projects I am working (or have worked) on:
- Bantam Java. A customizable, java-based, classroom compiler.
- Larc. A little architecture for the classroom.
- Dynamic Instruction Stream Editing (DISE). A processor extension for transforming programs as they run.
Publications
Bantam: A Customizable, Java-Based, Classroom Compiler (pdf)
with E Christopher Lewis
SIGCSE Technical Symposium on Computer Science Education, Mar. 2008.
Talk: 1-up pdf, 4-up pdf, ppt
Dynamic Instruction Stream Editing (pdf)
PhD Thesis, Dept. of Computer and Information Science, University of Pennsylvania, Aug. 2006.
Dynamic Translation as a System Service (pdf)
with Vlad Petric and E Christopher Lewis
Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA), Jun. 2006.
Talk: 1-up pdf, 4-up pdf, ppt
The Implementation and Evaluation of Dynamic Code Decompression using DISE (pdf)
with E Christopher Lewis and Amir Roth
ACM Transactions on Embedded Computer Systems (TECS), Feb. 2005.
Low-Overhead Interactive Debugging via Dynamic Instrumentation with DISE (pdf)
with E Christopher Lewis and Amir Roth
International Symposium on High-Performance Computer Architecture (HPCA-11), Feb. 2005.
Talk: 1-up pdf, 4-up pdf, ppt
Using DISE to Protect Return Addresses from Attack (pdf)
with E Christopher Lewis and Amir Roth
Workshop on Architectural Support for Security and Anti-Virus (WASSA), Oct. 2004.
Talk: 1-up pdf, 4-up pdf, ppt
A DISE Implementation of Dynamic Code Decompression (pdf)
with E Christopher Lewis and Amir Roth
ACM SIGPLAN Conference on Languages, Compilers, Tools for Embedded Systems (LCTES), Jun. 2003.
Talk: 1-up pdf, 4-up pdf
DISE: A Programmable Macro Engine for Customizing Applications (pdf)
with E Christopher Lewis and Amir Roth
International Symposium on Computer Architecture (ISCA-30), Jun. 2003.