This research addresses the problem of retargeting tools used to translate, analyze, instrument, improve, and migrate programs. Such tools include not only compilers, but also assemblers, linkers, debuggers, binary-code modifiers, and binary translators. The primary retargeting technique being applied is the generation of machine-dependent components from compact, reusable descriptions of machine properties. The research objectives are to describe machine properties clearly and concisely, to represent instruction semantics in a way that supports retargeting, to reuse specifications to retarget a variety of tools, and to reuse analyses of specifications to derive components for multiple machines. Instruction semantics are specified in three layers. Descriptions of whole instruction sets will be written using the metalanguage layer. These descriptions will be mechanically transformed into the register-transfer layer, which defines each instruction's semantics in a form that is easy to analyze. The interpretation layer will provide semantic interpretations of register transfers; different interpretations support different analyses and component generators. The major payoff of this research is in developing new capabilities in machine specification; it should deepen our understanding of properties of machines, foster innovation in machine-level tools, and help others save effort, cost, and time in developing tools of scientific and practical value.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
9733974
Program Officer
Mukesh Singhal
Project Start
Project End
Budget Start
1998-06-01
Budget End
2000-05-31
Support Year
Fiscal Year
1997
Total Cost
$100,000
Indirect Cost
Name
University of Virginia
Department
Type
DUNS #
City
Charlottesville
State
VA
Country
United States
Zip Code
22904