A common strategy for supporting adaptable software is to use a just-in-time run-time compilation model, as in Java. However, this approach sacrifices performance, since any run-time optimizations must be quick and therefore simple to avoid slowing the program, with excessive compilation overhead. To achieve high performance, particularly for highly modular software, a whole-program static compiler can be used. But this strategy sacrifices run-time extension and adaptability, and forgoes the usual benefits of separate compilation as well.

This research is investigating a more flexible approach, staged compilation, that strives to combine the high performance advantages of static compilation with the flexibility advantages of dynamic compilation. In the staged compilation model, each part of a program passes through multiple compiler stages on its journey from source code to optimized machine code, including stages at separate compilation time, library link time, complete-program link time, and run-time

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0203908
Program Officer
Frederica Darema
Project Start
Project End
Budget Start
2002-10-01
Budget End
2006-09-30
Support Year
Fiscal Year
2002
Total Cost
$499,937
Indirect Cost
Name
University of Washington
Department
Type
DUNS #
City
Seattle
State
WA
Country
United States
Zip Code
98195