|
| |
Links
|
| |
|
|
| |
News & events
|
|
For conferences and seminars we organize, and my own talks, see the Events page.
| | Events page
|
Touch of Class is out
| |
Touch of Class page
Amazon book page
Springer book page
|
Next book signing: Paris, Le Monde en Tique bookstore,
October 10 (Saturday), 15:00-18:00.
| |
Le Monde en Tique
|
New blog
I have started a blog, covering my direct interests but extending to many topics in technology.
| |
Technology blog
|
Forthcoming
|
Informatics Europe has its annual conference, the European Computer Science Summit, in Paris on Oct. 8-9, with a workshop for department chairs on Oct. 7. ECSS has a particular cachet this year with the inclusion of the official launching of ACM Europe and an ACM Award banquet honoring Turing Award winners and ACM fellows. Keynote speakers include Joseph Sifakis (2007 Turing Award), Wendy Hall (ACM President), Mark Harris (Intel), Georg Gottlob (Oxford) etc. on the theme "Informatics Among the Sciences". Deadline for early registration is Sept. 22.
| | ECSS 2009
|
Compact courses for industry
We just offered a series of coordinated compact courses (industry seminars) in the second half of June 2009:
Requirements engineering (18 June, one day).
|
Design by Contract (22 June, one day).
|
Software testing and verification: state of the art (23-24 June, two days).
|
Distributed and Outsourced Software Engineering (25-26 June, two days, also serves as pre-conference tutorial for the SEAFOOD conference).
| | Compact courses (info & registration)
|
A new series will be presented in early 2010.
|
Slightly older news
|
Eiffel is now an ISO standard: Eiffel Analysis, Design and Implementation Language, November 2006. Also available as the second edition of ECMA standard 367 (different title, same contents, free access).
| |
ISO standard
ECMA Eiffel standard
|
Object-Oriented Software Construction, 2nd edition available in Russian in a beautiful translation by Vladimir Billig. (March 2007: now also in Japanese, by Hiroshi Sakoh, whose translation of the first edition also drew much praise.)
| | Russian OOSC; see also article (page 24 of magazine)
Japanese (bookstore site)
|
Recent events
We recently organized several major events:
|
Every September we organize the LASER Summer School on software engineering, in the idyllic setting of Elba island. We are again offering an outstanding program this year, Sept. 6 to 12, 2009. The theme is Software Testing: The Practice and the Science and the other speakers Alberto Avritzer (Siemens), Michel Cukier (University of Maryland), Yuri Gurevich (Microsoft Research), Tom Ostrand (AT&T), Mauro Pezzč (Milano) and Elaine Weyuker (AT&T, co-director of the school). Not to be missed.
| | LASER school
|
TOOLS EUROPE 2009, June 29 to July 5, took place again at ETH Zurich like TOOLS 2007 and TOOLS 2008, with co-located conferences: TAP (Tests And Proofs), SEAFOOD (Software Engineering Advances For Outsourced and Offshore Development), ICMT and others. TOOLS EUROPE 2010 will move to Málaga, Spain, same week (28 June to July 4), and again with lots of associated events. Actually the name is now TOOLS Federated Conferences to emphasize the multi-conference nature of the event. For TOOLS proper (the core conference), the program chair is Jan Vitek from Purdue; the call for papers will be out shortly.
| | TOOLS EUROPE
|
|
TAP: Tests And Proofs, devoted to the increasing convergence between these two approaches to software verification. The 2007 conference (PC chair: Yuri Gurevich) attracted about 40 participants with outstanding keynotes by Yuri Gurevich, Jonathan Ostroff and Yannis Smaragdakis; the LNCS proceedings are in press. TAP 2008 took place in April in Italy, under the leadership of Bernhard Beckert (Koblenz) and Reiner Hähnle (Chalmers). TAP 2009 will again be in Zurich during the TOOLS week, with Catherine Dubois as PC chair. Yuri Gurevich co-chairs the conference series.
| | TAP
|
SEAFOOD, the first international conference on Software Engineering Approaches For Outsourced and Offshore Development, 4-6 February 2007, Zurich. Co-chaired with Dr. Mathai Joseph, Executive VP of Tata Consultancy Services.
SEAFOOD 2008 will take place together with TOOLS 2008 in the week of June 22.
| | SEAFOOD
|
VSTTE (Verified Software: Tools, Theories, Experiments, the concretization of Tony Hoare's "Grand Challenge" vision for a verifying compiler.
| | VSTTE
|
In October 2005, October 2006 and October 2008, ECSS (European Computer Science Summit), the first meetings ever of CS department chairs in Europe, with close to 100 participants each, leading to the creation of Informatics Europe, the European organization for computer science. ECSS 2007 was organized in Berlin by Hans-Ulrich Heiss and ECSS 2009 will be held in Paris under the leadership of Christine Choppy and Antoine Petit.
| | Informatics Europe
ECSS 2005
ECSS 2006
|
Portraits of computer scientists
| | Gallery
|
|
| |
General
|
Our group is the Chair of Software Engineering at ETH Zurich.
Our charter is to help the world build better software and build software
better.
Complementary pages:
|
The Chair's site: individual pages of faculty & researchers, material for students (course and project pages), research project descriptions etc.
| | Chair of Software Engineering
|
JOT: we publish the Journal of Object Technology (the leading international journal on objects and components).
Bimonthly; available online; free to both authors and readers.
| | JOT at www.jot.fm
|
The present site and its companions don't just talk about us but
seek to provide a repository of ideas and solutions on software
engineering in all its variants, in particular:
Object technology, component development, reuse.
Design by Contract, formal methods, proofs, contract-based automatic testing.
Concurrent, distributed and real-time programming
Innovative educational approaches for computer science.
Tools, development environments, pleasant user interfaces.
|
ETH achieved worldwide fame in computer science for its brilliant
tradition of language and system design. We strive to uphold this tradition
in our own way.
| |
|
| |
"What are you working on at the moment?"
|
Everything mentioned in these pages. Most recently:
|
Working with the ECMA TG4 committee on the ECMA/ISO Eiffel standard and
writing the corresponding revision of "Eiffel: The Language".
Attempting to develop techniques for full, rigorous, mechanized proofs
of contrat-equipped software components.
Developing the SCOOP model for concurrent computation.
Devising techniques for automatic, push-button testing of components through the AutoTest and CDD frameworks.
Writing the various books I have promised to deliver. Until recently I was working on Touch of Class.
|
| |
Teaching
|
Some of the courses I regularly teach with the help of other members of our chair:
|
Introduction to Programming (compulsory course, 1st year)
| | Soft arch
|
Software Architecture (compulsory course, 2nd year)
| | Soft arch
|
Software Engineering ("core course", 2nd year)
| | Soft eng
|
Software Verification (bachelor's/master's, "focus" course for the Software Engineering master's track)
| | COOP
|
Distributed and Outsourced Software Engineering, with Peter Kolb (bachelor's/master's)
| | DOSE
|
| | COOP
|
| | Open-Source Lab
|
| | Java
|
"Languages in Depth" series: Java programming, with Manuel Oriol and Marco Piccioni
| | Java
|
| | C#
|
| | SE Seminar
|
A special course in 2007:
|
Automated Debugging and Testing: a compact course over two weeks (11-22 June 2007), with Andreas Zeller from Saarbrücken (bachelor's/master's)
| | Debugging/testing
|
| |
Research
|
The Chair's research page has details of individual research projects. Here is an overview.
| | Chair's research page
|
Eiffel
Eiffel is not just a language but a general method for system construction, applicable from
requirements analysis all the way through design, implementation and maintenance,
in a seamless and reversible way. Eiffel is based on the principles of object technology
and Design by Contract.
|
If you knew Eiffel from a few years ago,
you are both up to date -- the same principles
continue to hold -- and not, as the language
has been continuously refined, simplified and and extended.
Two examples of a major development are the agent mechanism, which
provides the power of functional languages in a typed O-O environment,
and conversions, which complement conformance.
| | The agent mechanism (PDF)
For password see below
|
We are active in the ECMA standard committee, which delivered the first Eiffel standard in 2005 (revised 2006).
| | ECMA Eiffel standard
|
Trusted Components
Reuse is the best hope for major strides in software technology;
without it we are
condemned, Sisyphus-like, again and again to tackle the same problems or problem variants.
| | Trusted components paper (ICSE keynote)
(also:1998 paper)
|
But reuse scales up everything, flaws included. Without an obsessive focus
on quality, the dangers of reusing components may offset the advantages.
Trusted Components are reusable software
elements accompanied by a precise definition and guarantee of
their quality, including such factors
as correctness, robustness, performance, security.
Our work on Trusted Components, intended to lead to a Component Certification Center,
is both "low-road" and "high-road": certify today's commercial components,
to the extent possible; develop new components with mathematically proved properties.
|
Proving classes
For the "high road" of trusted components, we are working on techniques for
proving that classes satisfy their contracts.
| | Class proofs
|
Concurrent object-oriented programming
|
Techniques used today to program concurrent applications -- for example with multithreading -- and distributed systems are woefully behind the advances made in
programming languages and software design methods in other areas. The SCOOP
model is a comprehensive effort to make concurrent and distributed programming
simple and safe, taking advantages of object technology
and Design by Contract. Over the past three years we have implemented
SCOOP and applied it to a number of examples;
like the rest of our software, this implementation is available for download.
| | SCOOP project page
|
Push-button component testing
|
Thanks to contracts, it is possible to test library components completely automatically,
without ever having to prepare test data. The Autotest tool applies this
idea to existing libraries (those actually used by programmers, not academic
examples) and regularly finds significant bugs. Available for download.
| | Autotest
|
Persistence
We are building mechanisms to let objects survive program execution; more generally,
defining a seamless interface between object-oriented programming and databases.
|
Programming education
|
|
| | Touch of class (book page)
SIGCSE paper on our approach
|
Graphics and games
|
The EiffelMedia library is a comprehensive framework for graphics and animations.
| |
EiffelMedia
|
Among other applications, students of the 2nd-year "Software Architecture" course, students use EiffelMedia to develop video games; we requisition the main hall of the ETH for a public demonstration.
The project lasts only 6 weeks but the students show remarkable mastery of software engineering
concepts. See last year's games (all downloadable). This year the results should be even better
thanks to continuing work on the EiffelMedia library and a game framework, again by students.
| |
Games @ ETH
|
Other recent projects
|
.NET: with Emmanuel Stapf and Raphael Simon
.NET: I have been active in the technology since mid-99 and took part in
its introduction. We participate in the corresponding standards committee.
|
Discovering hidden contracts in ordinary libraries,
such as the .NET collection library.
| | Contract extraction
|
| | From patterns to components
|
For conference organizers I have collected a list of some available
talk topics and the associated abstracts.
| | Talk titles and abstracts
|
| |
Positions and projects (i.e. if you want to work with us)
|
|
We have many attractive project topics, conceptual as well as applied, for ETH students
(Semesterarbeit, Master's theses). Consult the current -- non-exhaustive -- list.
| | Available projects
|
Assistant positions: we occasionally have positions available for PhD work
in the topics listed on these pages. Most PhD students at ETH are
"assistants": research employees of the university who also participate
in teaching.
There is no specific call for candidates at the moment but we are always
interested in CVs of exceptional candidates on the topics described
in these pages.
(Due to the amount of mail received we can't
answer applications not retained.)
|
| |
Course information
|
All our courses have Web pages including syllabus, schedule, slides,
sometimes video recordings of lectures, student evaluations etc. See the Chair's teaching page.
| | Teaching page
|
|
| |
Publications
|
The publications page.
includes a complete publication list and links to
online versions of most articles.
| | Publications page
| | |
Here is some recent material.
Newest book: not a real book but a video course on .NET.
You can look it up on Amazon.
| | .NET Training Course (Amazon)
|
Most recent "real" book: Object-Oriented Software Construction,
second edition, Prentice Hall. (If you have seen the first edition,
from 1988, you don't know this book -- it's quite different, and
much more extensive.)
| | "OOSC" book page
|
I write a monthly column for Eiffel software on various Eiffel-related
software topics.
| | EiffelWorld column
|
| |
Work in progress
|
Drafts of ongoing work. Available at the moment:
| | Work in progress
|
Ongoing new edition of Eiffel: The Language
(known as ETL3), in progress for several years.
To access the chapters you need the user name
Talkitover and the password etl3. (Yes, it does make sense
to protect a Web page and publish the password. Don't ask.)
| | ETL3 page
|
Towards Practical Proofs of Class Correctness (18 February 2003);
paper series on Proving Properties of Programs with Pointers (November 2002, updated February 2003).
| |
Class Proofs
Pointer Proofs
|
| |
Non-ETH activities
|
|
Eiffel Software (part of ISE Inc. in Santa Barbara): co-founder and
Chief Architect. The company
is best known for introducing the Eiffel method, language, and EiffelStudio
development environment, covering the full lifecycle, not just programming.
Also provides consulting and training in software engineering and object technology.
| | Eiffel Software
|
President of Informatics Europe, the new organization of European computer science departments, since its creation in 2006 following the two European Computer Science Summits at ETH (the first ever gatherings of CS/IT/Informatics department chairs in the region). We have an ambitious charter: to give computer science a solid place in the European landscape, and to serve as a network for the members of the discipline, with a particular focus on education and research.
| | Informatics Europe
|
Chairman of the TOOLS Conference Series, 1989-2003.
TOOLS stands for Technology of Object-Oriented Languages and Systems and
is devoted to all advanced practical techniques for software development.
Altogether we organized 45 TOOLS conferences (US, Europe, Australia, China) and after a respite of a few years are starting again with TOOLS EUROPE.
| | TOOLS EUROPE
|
Monash University, Melbourne, Australia:
adjunct Professor (school of Computer Science and Software Engineering, CSSE)
from 1998 to 2003.
|
A few earlier jobs of which I draw some vanity: I was instrumental in starting software engineering activities in France (the working group at AFCET, the annual conference "Congrčs de Génie Logiciel", the software engineering newsletter), the TSI journal (Technology and Science of Informatics, of which I was the founding editor-in-chief) and the European Software Engineering Conference (I was the first chair of its Steering Committee).
|
| |
Personal
|
Some tasks at ETH
Member of computer science department's Ausschuss
(executive committee) 2002-2007;
member of study reform commission (the committee that
prepared the redesign of the computer science curriculum, based on
the new Bachelor-Master system, over 2002 and 2003);
co-wrote report on systems support group (ISG) in 2002;
in charge of CS colloquium in 2002 and again, with Peter Müller,
for the Summer semester 2004; representing department at committee
for 150-th anniversary of ETH (2003-2005); editor of the department's
Web site, 2003-2004; overseeing the Department's library, 2003-2004;
associate chair of the department, 2003-2004; chair, 2004-2006; in charge of Industrial Advisory Board, 2005-2007; department representative in "quantum-tera" (then "nano-tera") project, 2006-2007; member of Unterrichtskommission (curriculum committee) since April 2009.
|
Education
Engineer from École Polytechnique, Paris,
MS in Computer Science from Stanford University,
Engineer from École Nationale Sup. Télécommunications, Paris,
DEA from Université Pierre & Marie Curie (Paris VI),
Maîtrise
in Russian from Sorbonne (Paris IV, Prof. Jacques Catteau),
Dr. Sc. in computer science from University of Nancy (advisors: Claude Pair,
Jean-Pierre Finance).
|
Career
Engineer then division head in the R&D department of Électricité de France (1974-1983),
then Visiting Associate Professor (1983-1985) at the University of California, Santa Barbara,
then co-founder of Eiffel Software in Santa Barbara,
then (since October 2001) Professor of Software Engineering at ETH Zürich.
|
Recently found on the Web: a 1977 picture from Novosibirsk.
| |
Siberia 77
|
Other personal web pages
| |
Eiffel Software page
|
Memberships and awards
Member of the French Académie des Technologies (originally CADAS) since 1991.
Switzerland representative on IFIP TC2 (the Technical Committee on
programming of the International Federation for Information Processing) since 2004; chair of the committee since April 2009.
Member of IFIP Working Group 2.3 (programming methodology).
Member of the board of IMAG, 2005-2008. Member of the scientific board of U. Paris VI (P & M Curie) since 2008.
Member of the IEEE 60th Anniversary Award committee (2007). Member (2007-2008) of ACM's nominating committee.
| |
Acad. Tech
IFIP TC2
WG2.3
IMAG
|
Jolt Award (1997, for Object-Oriented Software Construction, second edition).
(First) Dahl-Nygaard prize for object technology, 2005. Honorary doctorate from Technical University ITMO of Saint Petersburg, 2006. ACM Software System Award (for the design of Eiffel), 2007. ACM Fellow, 2009.
| |
Jolt awards
Dahl-Nygaard award
ITMO announcement
ACM press release
|
I seem to serve as answer for quizzes (one of them a dubious honor),
and feverishly track
my rating on the ResearchIndex rankings of all-time Most Cited
Authors and Most Cited Documents in computer science.
| |
SD quiz
More dubious honor
Docs and
authors
|
| |
Contact information
|