Equipping object-oriented software with Hoare-style specification elements, or "contracts", is at the root of the Eiffel approach to software development. Contracts have a surprisingly diverse set of applications, from specification and documentation to tests, proofs, exception handling and even concurrency. This presentation is partly pedagogical, summarizing known use of contracts that are still new to most people doing design and programming with today's dominant tools and languages, and partly research-oriented, describing recent advances at ETH and elsewhere to apply contracts to new problems. It particularly emphasizes the possibility of fully automated tests (no test cases, no test oracles), work towards proofs of O-O programs, and applications to concurrent programming.
Official Website: http://irbseminars.intel-research.net
Added by robennals on February 24, 2007