Das universelle Reparaturset für kaputte Codes

24. Oktober 2011, 17:25
4 Postings

Mit dem Projekt Metamorphosis soll verloren geglaubtes Fachwissen in Altbeständen von Software wieder nutzbar gemacht werden

Komplexe Software erledigt heute in den meisten Branchen zentrale Rechenaufgaben: im Bankwesen die Aufstellung von Salden, in der Metallurgie die Materialbeschaffenheit und in der Elektronik die Dimensionierung von Bauteilen. Allerdings arbeitet beinahe jedes Unternehmen auch mit überalterten Softwarebeständen.

Die Ursache dafür liegt in der komplexen Beschaffenheit dieser Programme, die fast immer maßgeschneidert sind, und nicht so einfach verändert werden können. Dazu müssten Programmierer wissen, wo genau im Source-Code die relevanten Rechenoperationen "versteckt" sind. Die Urversionen der Software wurden aber häufig von Entwicklern erstellt, die für Unternehmen nicht mehr greifbar sind. Hilfreiche Dokumentationen zur Struktur dieser Codes hinterlassen sie selten.

Vor drei Monaten hat sich Josef Pichler, Computerwissenschafter am Software Competence Center Hagenberg (SCCH), dazu etwas überlegt: "Was wäre, wenn wir die relevanten Informationen in einer Software in Form mathematischer Formeln extrahieren und gar nicht erst versuchen, den Programmcode zu verstehen?" Dadurch könnte sichergestellt werden, dass in einer alten Software nur jene Bereiche gefunden werden, die sich tatsächlich aufs "Ausrechnen" beziehen. "Viele Teile eines Programmcodes haben gar nichts mit der Berechnung zu tun. Von 10.000 A4-Seiten Code bleiben oft nur 100 übrig, die benötigt werden", erklärt Pichler.

Optimieren vereinfachen

Die Methoden für ein "Abklopfen" von Software auf relevante Stellen sind teilweise bereits vorhanden. So werden etwa beim "Symbolic Tracing" Variablen anstelle konkreter Werte in Formeln eingesetzt. Dieses symbolische Ausführen von Programmen ermöglicht wiederum eine Beurteilung, wo im Code die eigentliche Berechnung stattfindet. "Das funktioniert wie bei einem Rohrsystem", illustriert Pichler: "Wir schütten oben Farbe rein und schauen dann, wo diese überall hinfließt." Pichlers Anstrengung wird daher vor allem aus einer Kombination bekannter Methoden und deren Erweiterung bestehen. Innerhalb vorerst dreier Jahre unternimmt er sie im Rahmen von Metamorphosis, einem strategischen Projekt am SCCH, das vorerst noch der reinen Grundlagenforschung zuzurechnen ist. Im Idealfall soll ein Unternehmen dadurch mit dem vorhandenen Programm weiterarbeiten können. Laufende Wartung und Optimierungen werden auf diese Weise vereinfacht. Allerdings kann es passieren, dass aus schwer zu rekonstruierenden Softwareteilen völlig neue Systeme gebaut werden müssen. Dieser Schritt liegt aber noch in weiter Ferne. Zudem schließt er nicht aus, dass er fallweise auch auf Altbestände stoßen wird, die gar nicht mehr reparabel sind.

Ist die Reparatur alter Software erst einmal grundsätzlich durchführbar, werden am Anfang nicht alle Schritte automatisiert ablaufen können. Erst in einem nächsten Schritt rechnet Pichler mit einer Gesamtmethode, also gewissermaßen mit einem einfachen Werkzeugset, das den Benutzer mit Routinen durch die Restaurierung und die Pflege von Programmen führt. (saum, DER STANDARD, Print-Ausgabe, 25./26. Oktober 2011)

Share if you care.