Department of Computer & Information Science University of Pennsylvania

DISE Project: Exploring Dynamic Instruction Stream Editing

A New Hardware-Software Interface for Customizing Application Execution
Architecture and Compilers Group
Department of Computer and Information Science
University of Pennsylvania

Project Description

Dynamic instruction stream editing (DISE) is a processor extension for customizing applications to the contexts in which they run by dynamically transforming the fetched instruction stream, feeding the execution engine an instruction stream with modified or added functionality. The highly efficient DISE mechanism is software programmable, admitting a host of customization activities, such as profiling, security checking, code decompression, dynamic optimization, and debugging. This research will prove the utility of DISE and explore its implementation.

Personnel

Publications

Marc L. Corliss and E Christopher Lewis. "A DISE Framework for Securing Software," Technical Report MS-CIS-05-13, University of Pennsylvania, April 2005. (available upon request)

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. (paper in pdf)

Marc L. Corliss, E Christopher Lewis, and Amir Roth, "Low-Overhead Debugging via Flexible Dynamic Instrumentation via DISE," In Proceedings of the Eleventh International Symposium on High-Performance Computer Architecture (HPCA-11), pages 303-314, February 2005. (paper in pdf)

Marc L. Corliss, E Christopher Lewis, and Amir Roth. "Using DISE to Protect Return Addresses from Attack," In Proceedings of the Workshop on Architectural Support for Security and Anti-Virus (held in conjunction with ASPLOS), pages 65-72, October 2004. (paper in pdf)

Marc L. Corliss, E Christopher Lewis, and Amir Roth, "A DISE Implementation of Dynamic Code Decompression," in Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '03), June 2003. (paper in pdf, slides in pdf)

Marc L. Corliss, E Christopher Lewis, and Amir Roth, "DISE: A Programmable Macro Engine for Customizing Applications," in Proceedings of the Thirtieth International Symposium on Computer Architecture (ISCA-30), June 2003. (paper in pdf, slides in ppt)

Marc L. Corliss, E Christopher Lewis, and Amir Roth, "DISE: Dynamic Instruction Stream Editing," Technical Report MS-CIS-02-24, University of Pennsylvania, July 2002. (pdf)

Support

This project is supported in part by NSF Award CCR-0311199. Lewis is also supported by NSF CAREER Award CCF-0347290, and Roth is supported by NSF CAREER Award CCR-0238203.

E Christopher Lewis
Last modified: Mon Feb 9 07:53:54 EST 2004