It has been well established that the United States needs better programming technology to assure the safety and reliability of the nation's software infrastructure. The National Research Council, the President's commission on critical infrastructure protection, and the PITAC report reach similar conclusions: that the nation depends on fragile software, and technologies for building reliable software are inadequate. To address these problems, this research develops a new programming model, called speculations, for ensuring software reliability.

A speculation is a computation that depends on an assumption that may be difficult or impossible to verify prior to evaluating the computation. If the assumption is later found to be false, the computation is rolled back. Speculations are especially useful in distributed systems, where failures are inevitable: the network may fail, processors may fail, and the code itself may have errors. In this new approach, speculations are used to wrap potentially unsafe computations. If a fault occurs, the program is restored to a well-known program state where the fault can be easily resolved.

The research develops the theory and design automation tools for speculations in three parts: first, the programming language theory is expanded to provide a basis for speculation; second, the theory is used to implement compiler and operating system extensions that automate the support for speculations; and third, speculations are used to develop new distributed communication protocols and algorithms. Speculations conform to a widely-understood design model based on transactions, easing deployment as a general-purpose programming tool. The results of the research are open source and freely available.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
0313354
Program Officer
D. Helen Gill
Project Start
Project End
Budget Start
2003-09-01
Budget End
2006-08-31
Support Year
Fiscal Year
2003
Total Cost
$269,999
Indirect Cost
Name
California Institute of Technology
Department
Type
DUNS #
City
Pasadena
State
CA
Country
United States
Zip Code
91125