Die Preisverleihung fand im Rahmen der Informatik 2009 am 30. September 2009 in Lübeck statt.

 

Hauptpreis:
5.000 €

Dr. Adrian Lienhard

für seine an der Freien Universität Bern erstellte Dissertation "Dynamic Object Flow Analysis"

Diplomarbeitspreis: 2.000 €

Nils Göde

für seine an der Universität Bremen erstellte Diplomarbeit "Incremental Clone Detection"

Zur Arbeit von Dr. Adrian Lienhard:

Objektorientierte Programme sind oftmals schwer zu vestehen, weil ihre statische Struktur den dynamischen Ablauf nicht widerspiegelt. Lienhard versucht, dem abzuhelfen durch eine neuartige Laufzeitanalyse, die besonders die Weitergabe von Objektreferenzen über die Zeit berücksichtigt. Sie werden als eigenständige Objekte repräsentiert, die explizit Alias-Beziehungen, Vorgängerwerte und den Aufrufkontext erfassen.

Lienhard stellt mit seiner Dynamic Object Flow Analysis neue Ansätze für das Reverse-Engineering und Debugging vor. Eine spezielle grafische Darstellung macht den Datenfluss zwischen den Klassen eines Systems sichtbar. Sie erleichtert dessen Verständnis und das Erkennen von Designmängeln.

Zur Erprobung hat er ein Smalltalk-Laufzeitsystem für kleine und mittelgroße Programme implementiert. Ein besonderes Resultat ist ein darauf basierender Back-in-Time-Debugger mit einer viel höheren Speicher- und Laufzeiteffizienz als bisherige Lösungen.

Die Arbeit ist in gutem Englisch geschrieben und ansprechend gestaltet.

Zur Arbeit von Nils Göde:

Software-Klone, also identische oder ähnlich Codestellen, sind Indikatoren für eine mangelhafte Struktur der Software. Vor allem ist es schwierig, diese redundanten Stellen konsistent zu ändern, etwa im Fall funktionaler Erweiterungen oder zur Fehlerbehebung.

Göde geht von der These aus, dass die Veränderung von Klonen im Verlauf aufeinanderfolgender Versionen eines Softwaresystems aufschlussreich ist für die Bewertung und weitere Behandlung der Klone.

Er hat einen schnellen Algorithmus entwickelt, der bei der Erkennung und Verfolgung der Klone über die Versionen hinweg Zwischenergebnisse wieder-verwendet und dadurch eine sehr hohe Laufzeit- und Speichereffizienz erzielt. Göde hat ihn an drei Open Source-Systemen erprobt, u.a. Linux.

Damit ist eine Grundlage geschaffen, um in weiteren Untersuchungen praxisrelevante Erkenntnisse darüber zu gewinnen, wie Klone softwaretechnisch beurteilt und behandelt werden sollten.

Die Arbeit ist in gutem Englisch geschrieben und ansprechend gestaltet.