E Christopher Lewis
My publications appear below. They are organized by topic and within each topic by reverse chronology. Most are available online. Other professional information can be found in my CV.
pic of me

Applications of Machine Virtualization

Xiaoxin Chen, Tal Garfinkel, E Christopher Lewis, Pratap Sabrahmanyam, Carl A. Waldspurger, Dan Boneh, Jeffrey Dwoskin, and Dan R. K. Ports. "Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems," To appear in the Proceedings of the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), March 2008. (PDF)

Dynamic Binary Translation (via Hardware)

Marc L. Corliss, Vlad Petric, and E Christopher Lewis. "Dynamic Translation as a Systems Service," In the Proceedings of the Workshop on the Interaction Between Operating Systems and Computer Architecture (WIOSCA) (held in conjunction with ISCA), June 2006. (PDF)
Marc L. Corliss, E Christopher Lewis, and Amir Roth. "The Implementation and Evaluation of Dynamic Code Decompression using DISE," ACM Transactions on Embedded Computing Systems, 4(1):38-72, February 2005. (PDF)
Marc L. Corliss and E Christopher Lewis. "A DISE Framework for Securing Software," Technical Report MS-CIS-05-13, Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA, April 2005.
Marc L. Corliss, E Christopher Lewis, and Amir Roth, "Low-Overhead Debugging via Flexible Dynamic Instrumentation with DISE," In the Proceedings of the Eleventh International Symposium on High-Performance Computer Architecture (HPCA-11), pages 303-314, February 2005. (PDF)
Marc L. Corliss, E Christopher Lewis, and Amir Roth. "Using DISE to Protect Return Addresses from Attack," In the Proceedings of the Workshop on Architectural Support for Security and Anti-Virus (held in conjunction with ASPLOS), October 2004. (PDF)
Marc L. Corliss, E Christopher Lewis, and Amir Roth, "DISE: A Programmable Macro Engine for Customizing Applications," In the Proceedings of the Thirtieth International Symposium on Computer Architecture (ISCA-30), June 2003. (PDF)
Marc L. Corliss, E Christopher Lewis, and Amir Roth, "A DISE Implementation of Dynamic Code Decompression," In the Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '03), June 2003. (PDF)
Marc L. Corliss, E Christopher Lewis, and Amir Roth. "DISE: Dynamic Instruction Stream Editing," Technical Report MS-CIS-02-24, Department of Computer and Information Science, University of Pennsylvania, Philadelphia, Pennsylvania, July 2002. (PDF)

Macros in C

Matt R. Jacobs and E Christopher Lewis. "SMART C: A Semantic Macro Replacement Translator for C," In the Proceedings of the IEEE International Workshop on Source Code Analysis and Manipulation (SCAM '06), September 2006. (PDF)

Transactional Memory

Colin Blundell, Joe Devietti, E Christopher Lewis, and Milo M. K. Martin. "Making the Fast Case Common and the Uncommon Case Simple in Unbounded Transactional Memory," In the Proceedings of the Thirty-Fourth International Symposium on Computer Architecture (ISCA-34), June 2007. (PDF)
Colin Blundell, E Christopher Lewis, and Milo M. K. Martin. "Subleties of Transactional Memory Atomicity Semantics," IEEE Computer Architecture Letters, 5(2), July-December 2006. (PDF)
Colin Blundell, E Christopher Lewis, and Milo M. K. Martin. "Unrestricted Transactional Memory: Supporting I/O and System Calls within Transactions," Technical Report CIS-06-09, Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA, April 2006. (PDF)
Colin Blundell, E Christopher Lewis, and Milo M.K. Martin. "Deconstructing Transactional Semantics: The Subtleties of Atomicity," In the Proceedings of the Annual Workshop on Duplicating, Deconstructing, and Debunking (held in conjunction with ISCA), June 2005. (PDF)

Parallel Programming Languages (Design and Implementation)

Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby. "ZPL: A Machine Independent Programming Language for Parallel Computers," IEEE Transactions on Software Engineering, 26(3):197-211, March 2000. (PDF)
Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby. "The Case for High-Level Parallel Programming in ZPL," IEEE Computational Science and Engineering, 5(3):76-86, July-September 1998. (PDF)
Bradford L. Chamberlain, E Christopher Lewis, Calvin Lin, and Lawrence Snyder, "Regions: An Abstraction for Expressing Array Computation," In the Proceedings of the 1999 ACM SIGAPL/SIGPLAN International Conference on Array Programming Languages (APL '99), pages 41-49, August 1999. (PDF)
Bradford L. Chamberlain, E Christopher Lewis, and Lawrence Snyder, "Language Support for Pipelining Wavefront Computations," In the Proceedings of the Workshop on Languages and Compilers for Parallel Computing, August 1999. (PDF)
E Christopher Lewis, Calvin Lin, and Lawrence Snyder, "The Implementation and Evaluation of Fusion and Contraction in Array Languages," In the Proceedings of the ACM SIGPLAN `98 Conference on Programming Language Design and Implementation (PLDI), pages 50-59, June 1998. (PDF)
Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby, "ZPL's WYSIWYG Performance Model," In the Proceedings of the IEEE Workshop on High-Level Parallel Programming Models and Supportive Environments, pages 50-61, March 1998. (PDF)
Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, Calvin Lin, Lawrence Snyder, and W. Derrick Weathersby, "Factor-Join: A Unique Approach to Compiling Array Languages for Parallel Machines," In the Proceedings of the Workshop on Languages and Compilers for Parallel Computing, pages 481-500, August 1996. (PDF)
Ibrahim Hur, E Christopher Lewis and Calvin Lin, "Evaluation of Optimizing Multi-Dimensional Shift Communication via Piggybacking," Technical Report, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, December 1999.
Bradford L. Chamberlain, E Christopher Lewis, and Lawrence Snyder, "A Region-based Approach to Sparse Parallel Computation," Technical Report UW-CSE-98-11-01, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, November 1998.
E Christopher Lewis, "Support for Software Assisted Speculative Execution", Technical Report UW-CSE-98-09-05, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, September 1998.
Calvin Lin, Lawrence Snyder, Ruth Anderson, Bradford L. Chamberlain, Sung-Eun Choi, E Christopher Lewis, and W. Derrick Weathersby, "ZPL vs. HPF: A Comparison of Performance and Programming Style," Technical Report UW-CSE-95-11-05, Department of Computer Science and Engineering, University of Washington, Seattle, Washington, November 1995. (PDF)

Parallel Applications

E Christopher Lewis and Lawrence Snyder, "Pipelining Wavefront Computations: Experiences and Performance," In the Proceedings of the 5th IEEE International Workshop on High-Level Parallel Programming Models and Supportive Environments (held in conjunction with IPDPS), May 2000. (PDF)
Bradford L. Chamberlain, E Christopher Lewis, Lawrence Snyder, "Problem Space Promotion and Its Evaluation as a Technique for Efficient Parallel Computation," In the Proceedings of the 13th International Conference on Supercomputing, pages 311-318, June 1999. (PDF)
E Christopher Lewis, Calvin Lin, Lawrence Snyder, and George Turkiyyah, "A Portable Parallel N-Body Solver," In the Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientific Computing, pages 331-336, February 1995. (PDF)

Education

Sung-Eun Choi and E Christopher Lewis, "A Study of Common Pitfalls in Simple Multi-Threaded Programs," In the Proceedings of the Thirty-first ACM SIGCSE Technical Symposium on Computer Science Education, March 2000. (PDF)

Theses

Marc L. Corliss, The Design, Implementation, and Evaluation of the Dynamic Instruction Stream Editor (DISE), PhD Thesis, University of Pennsylvania, 2006. (PDF)
E Christopher Lewis, Achieving Robust Performance in Parallel Programming Languages, PhD Thesis, University of Washington, 2001. (PDF)

Copyrights

Please respect the copyrights held by the authors and publishers. Definitive versions of these papers appear in publications from ACM, IEEE, and other publishers.

Support

Most of this work has been funded via the following grants.
NSF CAREER Award CCF-0347290, CAREER: Take Your Vitamins: Robust Parallel Software through Supplement-Oriented Programming, $400,000, 2/04 - 2/09.
NSF Award CCR-0311199, DISE: A New Hardware-Software Interface for Customizing Application Execution, $240,000, 7/03 - 6/06. (with Amir Roth)
Microsoft Corporation, The Influence of Computer Architecture on .NET Applications, $10,000, 7/02 - 6/03.
ARO DAAD-19-02-1-0404, ABIDE: Advanced Broadband Intrusion Detection Engine, $54,138, 9/02 - 2/03. (with Jonathan Smith, Michael Greenwald, and Honghui Lu)