ETH Life - wissen was laeuft

Die tägliche Web-Zeitung der ETH Zürich - in English

ETH Life - wissen was laeuft ETH Life - wissen was laeuft
ETH Life - wissen was laeuft
Home

ETH - Eidgenoessische Technische Hochschule Zuerich - Swiss Federal Institute of Technology Zurich
Rubrik: Tagesberichte
English Version English Version
Print-Version Drucken
Publiziert: 27.10.2005 06:00

Interview mit ETH-Professor Bertrand Meyer zur Konferenz über Verified Software.
Fehlerfreie Software

Mitte Oktober fand an der ETH eine einwöchige Konferenz zum Thema „Verified Software: Theories, Tools, Experiments“ statt. (1) „ETH Life“ sprach mit Bertrand Meyer, dem Organisator der Konferenz und ETH-Professor für Software Engineering.

Jakob Lindenmeyer

Herr Meyer, was ist gute Software?

Bertrand Meyer: Einfach gesagt: Was immer den Nutzer zufrieden stellt. Wenn beispielsweise das Programm Photoshop hin und wieder abstürzt, ist es für Sie vielleicht immer noch eine gute Software, solange Sie damit Ihre Ziele erreichen. Anderseits sollte aber beispielsweise eine Software zur Kontrolle des Flugzeugs unter keinen Umständen abstürzen.


Zur Person: Bertrand Meyer

Bertrand Meyer studierte in Frankreich und den USA. Nach Tätigkeiten in der Industrie gründete er 1985 die Firma Interactive Software Engineering, die sich mit der Entwicklung der Software „Eiffel“ befasste. Seit vier Jahren ist Meyer Professor für Software Engineering an der ETH Zürich und seit einem Jahr Departements-Vorsteher der Informatik. In seiner Forschung konzentriert sich Meyer auf die Entwicklung von Methoden, Techniken, Sprachen und Werkzeugen für die Verbesserung der Software-Qualität. (2)



Wo liegen denn die Gründe, dass auch heute noch viele Computer „abstürzen“?

Meyer: Am Ende ist jeder Absturz auf einen Programmierfehler zurückzuführen. Ein typisches Beispiel ist der „Buffer overflow“. Das passiert, wenn das Programm mittels eines falschen Indexes auf ein Element zugreifen will. Beispielsweise wenn ich nach dem fünfzigsten Buchstaben im Kürzel „ETH“ frage. Eine andere grosse Fehlerquelle ist die zunehmende Komplexität. Der Quellcode moderner Betriebssysteme umfasst teilweise Dutzende von Millionen Zeilen. Daher sind Betriebssysteme viel komplexer als die meisten anderen Ingenieur-Systeme. Um Fehler zu vermeiden tendieren Computerwissenschaftler darum zu mehr Einfachheit. Sicher ist ein Teil der enormen Komplexität selbst verschuldet. Allerdings kommt ein grosser Teil der Komplexität auch vom Bedürfnis, die Aussenwelt möglichst realistisch zu behandeln.

Wo liegen mögliche Risiken des Einsatzes fehlerhafter Software?

Die meisten Software-Fehler führen weder zu Todesfällen noch zu spektakulären Schlagzeilen. Viel häufiger sind unerklärliche Programmabstürze, fehlerhafte Resultate und überlange Rechenzeiten. Das amerikanische Institute of Standards hatte kürzlich die Schäden durch ungenügend getestete Software auf jährlich 60 Milliarden Dollar geschätzt – allein für die USA. Anderseits kann fehlerhafte Software tatsächlichen auch zu Todesfällen führen. Einer der am besten untersuchten Zwischenfälle ist die Therac-25 Bestrahlungs-Therapie. Aufgrund eines Software-Fehlers wurden zahlreiche Patienten mit einer falschen Strahlendosis bestrahlt, was schliesslich zu sieben Toten führte.


ETH-Professor Bertrand Meyer: "Eine grosse Fehlerquelle für Software ist die zunehmende Komplexität von Betriebssystemen."

Wie entsteht fehlerhafte Software?

Durch Investitionen in die falschen Werkzeuge oder durch die Verwendung veralteter Programmiersprachen aus Gewohnheit oder aus Bequemlichkeit. Häufig entstehen Fehler auch dadurch, dass anstelle eines sauberen Entwicklungsansatzes unkoordiniert drauflos programmiert wird.

Was war das Ziel der Konferenz zu „Verified Software“, die Mitte Oktober an der ETH stattfand?

Wir wollten die Software-Entwickler darauf aufmerksam machen, dass die Fortschritte in der Verifizierung von Software schon so weit fortgeschritten sind, dass wir heute sehr nah an fehlerfreier Software dran sind und darum ernsthaft über deren Einsatz diskutieren sollten.

Die Konferenz basierte auf dem Konzept der „Grand Challenge“ von Tony Hoare. Worin besteht diese grosse Herausforderung?

In den letzten fünf Jahren reiste Tony Hoare um die Welt, um alle davon zu überzeugen, dass die Zeit reif sei für einen gross angelegten, koordinierten Ansatz zur Verbesserung der Software-Qualität. Hoare rechnet mit einer 15-jährigen Projektzeit, analog etwa dem Grossprojekt der Entschlüsselung des menschlichen Erbguts. Die Konferenz hier an der ETH bildete den Höhepunkt seiner Vorbereitungsarbeiten und den Start der „Grand Challenge“.

Was ist der Beitrag Ihrer Forschung zur „Grand Challenge“?

Die von mir über die Jahre entwickelte Programmiersprache Eiffel ist beispielsweise eine Ansammlung von Musterfällen der Software-Entwicklung, optimiert auf die Erzielung hoher Software-Qualität. Eiffel wird heute in einigen grösseren Verteidigungs- und Finanz-Applikationen eingesetzt. Eiffel ist aber auch ein Forschungs-Instrument, das wir im Projekt „Grand Challenge“ einsetzen, als Basis für die Entwicklung und die Verifizierung von Software. Zudem setzen wir Eiffel auch zu Unterrichtszwecken ein, beispielsweise im Informatik-Studium der ETH.


Fussnoten:
(1) Website der VSTTE-Konferenz zu Verified Software: http://vstte.inf.ethz.ch/
(2) Homepage von Bertrand Meyer: http://se.inf.ethz.ch/~meyer/



Sie können zu diesem Artikel ein Feedback schreiben oder die bisherigen lesen.




!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!