Type of project:
Part of a general effort of improving existing components by adding
contracts a posteriori (see draft paper about closet contracts
in .NET libraries). An analysis of the .NET Collections library
has shown the presence of implicit contracts, which legitimates
the development of a Contract Wizard (see paper here).
A first version of this tool has been developed in 2001 with a
beta version of .NET (see TOOLS
USA 2001 paper. It takes advantage of the .NET Metadata and
Reflection techniques to enable a user to add contracts to an already
compiled module coming from a language without support for Design
by Contract, such as C# or Java.