Wider dem Softwareverfall

Computerprogramm fixt alten Code schneller als Entwickler

Melanie Feldmann

© Shutterstock.com / Rawpixel.com

Auch Software kann verrotten. Vor allem Anwendungen, die darauf angewiesen sind möglichst gut mit der Hardware zusammenzuarbeiten, wie Bildverarbeitungsprogramme. Auf neuerer Hardware laufen die Programme oft weniger gut. Entwickler müssen sich dann daran setzen den alten Code an die neue Hardware anzupassen. Das kann dauern. Forscher am MIT haben ein Programm entwickelt, das die essenziellen Codestellen findet und optimiert – viel schneller als es ein Mensch könnte.

Die MIT-Forscher entwickelten eine Software namens Helium. Diese scannt die veraltete Software, identifiziert die wichtigen Codestellen und baut dann eine neue Version des Codes auf; passend für neue Hardwarespezifikationen. Was Entwickler oft Monate kostet, schaffte die Software in einem Tag. Getestet haben die Forscher Helium zusammen mit Adobe. das Bildbearbeitungsprogramm Photoshop feierte dieses Jahr seinen 25 Geburtstag. Dementsprechend birgt der Code einige Stellen, die nicht mehr zum neusten Stand der Hardwaretechnik passen. Manche Photoshop-Filter liefen nach der Optimierung bis zu 75 Prozent schneller. Auch mit Microsofts IrfanView machten die Forscher den Test und erreichten  einen 400- bis 500-Prozent-Boost der im Vergleich zu Photoshop weniger optimierten Software.

Lesen Sie auch: Bald fixt sich Code von alleine – dank Machine Learning

So funktioniert Helium

Bildverarbeitungsprogramme nutzen sogenannte Stencil Kernels. Mit diesen ist es möglich, Operationen für Flächen an Pixel durchzuführen. Es ist wichtig die Stencil Kernels zu aktualisieren, da sie einen große Menge an Speicher und Rechenpower brauchen. Außerdem lässt ihre Performance schnell nach sobald neue Hardware ins Spiel kommt. Mit Helium können die Forscher die Kernels aus dem Binärcode herauslösen und sie als High-Level-Repräsentationen restrukturieren, die in Halide lesbar sind. Halide ist eine DSL, die am MIT spezial für Bildverarbeitung entwickelt wurde. Der Schritt von Binärcode zu einen High-Level-Sprache wie Halide war groß. „Die Anordnung der Operationen in diesen optmierten Binaries sind kompliziert und deswegen schwer zu entwirren“, erklärt Charith Mendis, Student am MIT und Autor des Papers zu dem Projekt. „Weil Stencils die gleichen Berechnungen wieder und wieder durchführen, waren wir in der Lage genug Rohdaten zu sammeln, um die Originalalgorithmen wieder herzustellen.“

Momentan ist Helium jedoch noch nicht für den breiten Einsatz geeignet. Denn es funktioniert zurzeit nur mit Bildverarbeitungssoftware. Adobe will Helium weiter testen aber noch nicht in aktuellen Produkten einsetzen. Aber nicht nur bei Programmen wie Photoshop könnte Helium eine große Hilfe sein. Auch die Hersteller von Röntgenmaschinen müssen ihre Bildverarbeitungssoftware an neue Hardware anpassen. Hier Kosten zu sparen käme dem Gesundheitswesen sehr entgegen.

Verwandte Themen:

Geschrieben von
Melanie Feldmann
Melanie Feldmann
Melanie Feldmann ist seit 2015 Redakteurin beim Java Magazin und JAXenter. Sie hat Technikjournalismus an der Hochschule Bonn-Rhein-Sieg studiert. Ihre Themenschwerpunkte sind IoT und Industrie 4.0.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: