[an error occurred while processing this directive]

Software Engineering Laboratory: Open-Source EiffelStudio

Prof. Bertrand Meyer, winter semester 2006

General info: News | Course description | Topics | Exam | Course books | Mailing List | Forum | Downloads |
Projects: Projects Details | Assistants

General info


11.12.2006 Updated course description.
6.11.2006 The web page has been created.

Course description

Software Engineering Laboratory: Open-Source EiffelStudio, 252-2601-00

The growing popularity of open-source projects provides a fertile ground for creative software developers to demonstrate and hone their design and implementation skills. This course is an opportunity to take part in leading-edge software construction and gain academic credit for it. The EiffelStudio environment (in 2006, 2 million lines of open-source code) provides a rich basis of potential extensions and new developments. The course is not structured as a traditional set of lectures but is laboratory-style:
students choose a project and meet regularly with assistants to report progress and obtain guidance. The results produced should meet standards of quality software engineering; the best developments are candidate for inclusion in actual software releases. This is an opportunity to learn by doing and to encounter the challenges of large, production-grade software development.

There will not be formal lectures. The course will be Entirely based on students' personal work. You can find further information at the computer science department: see here


Three topics are proposed, each possibly supporting several projects:
  • Tools to improve the build process of EiffelStudio and other software, in particular continuous or automatically scheduled build and integration of automatic tests
  • EiffelVision developments, especially for Macintosh
  • Automatic testing (AutoTest, mutation testing)


The general theme set is to add to EiffelStudio an open-source contribution that is good enough to be included in the standard delivery, or otherwise represents a significant step forward. EiffelStudio is taken in a broad sense, including supporting tools and libraries. Any addition must be:
  • An improvement to EiffelStudio
  • Fit naturally within EiffelStudio
  • Be compatible with the Eiffel method
  • Written in impeccable style
  • Reliable (extensively contracted, extensively tested, no known breaking bugs)
  • Well designed and well documented
  • Available as open source
  • Done by a group of at most two people, unless otherwise approved
  • Ready on time. Deadline is 15 February
For grading we will take into account all the previous elements, in particular:
  • Design and code quality
  • Documentation
  • Usefulness
  • Maturity
  • Ability to be integrated in EiffelStudio or other product
  • Scope
  • Ambition
  • Role of various project members

Course books

  • Bertrand Meyer: Object-Oriented Software Construction, Second Edition, Prentice Hall, 1997 ISBN 0-13-629155-4

Other (recommended) books:

  • Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995, ISBN 0201634988
  • Karine Arnout: From Patterns to Components, Ph.D. thesis, 2004. (See publications)

Mailing List/Wiki

A specific mailing list, called soft-engine-lab, has been created and all the students that participate to the projects have been subscribed to it.

In addition, there's a wiki page set up at the following link:

Software Engineering Laboratory wiki page


You can use the forum to ask course-related questions. Click here to access the forum.

The forum is not maintained by us, but by the Verein der Informatik Studierenden.

There are new Mailing Lists for announcements of new EiffelStudio versions, read-only EiffelStudio mailing list which summaries daily SVN changes, developers related mailing list for EiffelStudio and users related list for EiffelStudio. More information and subscriptions here.



Projects Details

Project name

Project Description



Eiffel Vision native on the Mac The GUI library Eiffel Vision2 is not currently natively supported on the mac. The aim of this project is to finish porting all the widgets to Carbon as to have a better user experience on that platform. The work on this project has started in Summer 2006 in the frame of the Software Architecture course and is pursued by the same group of students now Dani Furrer, Roland Haeusler, Jann Roeder, Peter Ueli Till Bay
Integrate AutoTest with Eiffel Studio 5.7 This project aims to integrate AutoTest completely into EiffelStudio 5.7 and provide a clean and useful GUI for AutoTest within EiffelStudio Philipp Emmanuel Boehof Dr. Lisa (Ling) Liu
Eiffel Mutation Testing Tool Mutation testing is a powerful testing technique for generating software tests and evaluating the quality of software. However, the cost of mutation testing has traditionally been so high that it cannot be applied with full automated tool support. This project aims to construct a mutation testing tool for Eiffel. This tool will be integrated into AutoTest - an automatic unit test tool for Eiffel, to evaluate the quality of testing strategies adopted by AutoTest Silvio Kohler, Philippe Andre Masson Dr. Lisa (Ling) Liu
Providing a Routine-Invoking library for Eiffel Sometimes we need the possibility to invoke routines in a reflective way. At the moment Eiffel does not offer direct support for this, therefore the idea is to create a library that through exposing the routines as agents provides the desired functionality Stefan Thöni Marco Piccioni
EiffelStudio Build Tools and Process The goal of the project is to develop a clean build process including the necessary tools. Further more, other tasks are possible: cleaning up the SVN tree, automatic builds, distributed builds, testing infrastructure etc. Beat Ramon Herlig, Martino Nicola Trosi Bernd Schoeller, Dr. Manuel Oriol





Till Bay RZ J 8 01 632 76 33
Dr. Lisa (Ling) Liu RZ J 9 01 632 55 07
Dr. Manuel Oriol RZ J 9 01 632 85 92
Marco Piccioni RZ J 5 01 632 65 32
Bernd Schoeller RZ J 5 01 632 47 55