This collaborative project, developing tools that support the dynamic (as it runs) modification of software and exploring the use of these tools, addresses many critical challenges facing software developers. Such issues include software security, software robustness, performance, resource-aware computation, cost-effective software development, cost-effective software updating and patching, and support for heterogeneous execution environments. The practical approach employed, Software Dynamic Translation (SDT), is a technology that enables software malleability and adaptivity at the instruction level by providing facilities for monitoring and dynamically modifying an application program as it is being executed. The investigators have developed a SDT system that is being used in various successful cutting-edge research projects. This community resource development project extends and refines the existing SDT system so the broader research community can use it. The extended prototype into a more production quality system will contain features such as: Automatically generated high-performance instruction decoders Decompilation of the instruction set into a more neutral format (RTLs) to support richer forms of analysis and translation A useful suite of analyses on the RLT that can serve as templates for future analysis Tools for detecting and forming hot traces/paths Support for commonly used targets (e.g., x86 Windows) Beyond the extension and refinement of the infrastructure, the work supports software. This crucial support enables the building of an active, productive community of users. Providing a complete, open-source framework, this project might accelerate research in the development of a new SDT implementation techniques as well as research into its novel uses. The project contributes to the understanding of key algorithms and data structures necessary to support the implementation of flexible, retargetable SDT systems.

Broader Impact: This project contributes to the reduction of the vulnerability of the nation's vital computing infrastructure. In addition, an open, extensible framework enables a great deal of research in compilers, languages, hardware, and measurements. Moreover, underrepresented students are encouraged to participate utilizing a specific recruitment mechanism in place at U Pittsburgh.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0551560
Program Officer
Rita V. Rodriguez
Project Start
Project End
Budget Start
2006-03-01
Budget End
2009-02-28
Support Year
Fiscal Year
2005
Total Cost
$106,803
Indirect Cost
Name
University of Virginia
Department
Type
DUNS #
City
Charlottesville
State
VA
Country
United States
Zip Code
22904