Once a program has been written, it can be checked against its specification either statically (i.e. program verification) or dynamically (i.e. testing). The project merges these techniques by assuming that assertions are always checked dynamically but optimizing away as many checks as possible. Thus, program verification becomes a special case of code optimization. Code optimization and program verification will be linked by using the specification for program components to optimize the programs that use them. Program components with specifications are likely to be faster than those without, thus encouraging programmers to specify them. The project will also study how to provide performance information so that the programmer can see how to add assertions to improve performance and can see when components are used incorrectly. The project will use the TS compiler for Typed Smalltalk and the mu-ral interactive theorem prover.

Project Start
Project End
Budget Start
1990-09-15
Budget End
1993-02-28
Support Year
Fiscal Year
1990
Total Cost
$123,866
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820