In recent years, a great deal of progress has been made towards tool support for developing embedded software. Tools solve a variety of difficult problems, for example by automating error-prone implementation tasks, by eliminating redundant and inefficient constructs, and by guaranteeing the absence of certain classes of errors, such as race conditions or out-of-memory exceptions. This NSF CAREER research is about Vertically Integrated Program Analysis and Transformation (VIPAT), a new way to look at embedded software tools: as a collection of building blocks that can be connected together in different ways to support novel analyses and transformations. The existing tools become mechanisms that are controlled by a high-level policy. VIPAT is based on two main ideas. First, the vertical integration of tools that operate at various levels of abstraction, which permits high-level transformations to be precisely targeted at parts of a system whose low-level resource usage is worst. Second, a clean separation between mechanism and policy, enabling effective reuse of existing tools in new situations. This research is a step towards a world where meaningful static guarantees about program behavior can be made, and where software can be automatically specialized to meet platform- and application-specific requirements such as time and energy constraints. The high-level vision is "fearless reuse": developers should spend less time worrying about resource usage and potential failure modes of components that they reuse.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
0448047
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2005-05-01
Budget End
2010-04-30
Support Year
Fiscal Year
2004
Total Cost
$400,000
Indirect Cost
Name
University of Utah
Department
Type
DUNS #
City
Salt Lake City
State
UT
Country
United States
Zip Code
84112