[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Generalizing Types as Provable Invariants
Date: Fri, 31 May 2002 15:17:30 -0700
From: Waldemar Horwat <waldemar@acm.org>
Precedence: bulk
A static type system can be thought of as a small framework for
proving invariants about a program -- in a type-safe language, if a
variable is typed as an integer then I know that I can't get a string
out of it. The compiler knows it too and doesn't let me modify the
program to violate that assumption.
How much work has been done on generalizing the notion of a static
type system into a more complete framework for proving interesting
invariants about a program? In essence, I'd like the source code of
a program to consist of two interweaved parts:
1. The actual code of the program
2. Machine-checkable proofs of assertions about the program
You might be interested in "Extended Static Checking for Java".
Some of the people involved were:
David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe.
See
http://research.compaq.com/SRC/esc/
-- Dan