Contracts in Practice

The COAT project is an extensive empirical study of 21 software projects in Eiffel, C#, and Java. All projects use contracts as a form of lightweight specifications. The study, covering a total of 122 years of development, analyzes how specifications, in the from of contracts, are used in real-world project and how their usage changes over time.

An extended version of our paper Contracts in Practice presents the study and its results in detail. This page provides supplemental material and data. You can contact us if you're interested in more details about the project or whish to have access to the raw data used for our analysis.

Eiffel Projects

C# Projects

Java Projects

AutoTest Boogie DirectVCGen
EiffelBase CCI ESCJava
Eiffel Program Analysis Dafny JavaFE
Gobo Kernel Labs Framework Logging
Gobo Structure QuickGraph RCC
Gobo Time Rxx Umbra
Gobo Utility Shweet
Gobo XML  

The following files document which path(s) of a repository where were used during the analysis.


H-Christian Estler, Marco Piccioni, Carlo A. Furia, Martin Nordio, and Bertrand Meyer