The growing diversity of computing platforms (laptop, handheld, phone, etc.) has necessitated application customization functions (ACFs), utilities that customize the execution of applications to the environments in which they run. ACF examples include safety checking, profiling, dynamic optimization, decompression, and bug patching. ACFs are used to make applications more reliable, more secure, and more easily developed, essential characteristics of next generation software systems. Unfortunately, ACFs are often not used because of their runtime cost, complexity, or deployment burden.

We propose dynamic instruction stream editing (DISE) as an efficient, convenient, and practical hardware/software mechanism for realizing ACFs. In DISE, an ACF is formulated as a set of dynamic instruction stream transformations and programmed via a set of rules (macros) for replacing instructions that match certain criteria with instruction sequences. The processor's decoder executes these specifications on the application, feeding the execution engine a modified instruction stream that includes ACF code. Inserting ACF code at the decode stage admits ACFs that modify (not just observe) application behavior, and sidesteps many of the costs of inserting ACF code into the application's static image first. DISE is a single mechanism that unifies the implementation of a large class of ACFs.

This research will prove the utility of DISE by implementing and evaluating a diverse set of ACFs, such as support for debugging, runtime code generation, and security/safety. This unique organization will positively impact the way applications and ACFs are engineered, used, and deployed, ultimately improving the reliability, efficiency, and security of software.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0311199
Program Officer
Timothy M. Pinkston
Project Start
Project End
Budget Start
2003-07-15
Budget End
2006-06-30
Support Year
Fiscal Year
2003
Total Cost
$240,000
Indirect Cost
Name
University of Pennsylvania
Department
Type
DUNS #
City
Philadelphia
State
PA
Country
United States
Zip Code
19104