link

April 29, Tuesday
12:00 – 14:00

Tools for Design by Contract
Computer Science seminar
Lecturer : Yishai Feldman
Affiliation : IBM Haifa Research Lab
Location : 202/37
Host : Prof. Mira Balaban
Design by contract is a practical methodology for developing code together with its specification. It enhances code quality in several significant ways. It is an integral part of the Eiffel language, but is little used outside that community. A major reason for that is the lack of tools supporting the methodology in other languages. In this talk I will describe several tools that support design by contract in Java. One tool instruments Java programs with their contracts for runtime checking. Another is an Eclipse plugin that refactors programs with their contracts, modifying the contracts as well as using them to check the correctness of the proposed transformations. A third tool attempts to discover draft contracts for existing code, enabling the use of the methodology for code originally developed without contracts.