Type of project:
Diplomarbeit SS 2003, 26 May - 25 September 2003

Christof Marti

Automatic Contract Extraction: Developing a CIL Parser


Part of a general effort of improving existing components by adding contracts a posteriori (see draft paper about closet contracts in .NET libraries). The analysis of the .NET collections library has shown that routine preconditions tend to be expressed through exception cases. Since exception cases are not kept into the metadata of .NET assemblies, the idea is to develop a parser for the CIL (Common Intermediate Language) to extract the exception cases and infer the corresponding contracts. The CIL parser will be developed with Gobo Eiffel Lex and Gobo Eiffel Yacc.

Project Description (PDF)

Project plan (PDF)

Diploma thesis (PDF)