System repariert Bugs mit Open-Source-Software

System repariert Bugs mit Open-Source-Software

«CodePhage» bietet bei Bugs Experten Hilfe.

Cambridge – Forscher des Massachusetts Institute of Technology (MIT) haben mit «CodePhage» ein neues System präsentiert, das gefährliche Software-Programmfehler, sogenannte «Bugs», repariert, indem es automatisch die Funktion von sichereren Quellen importiert.

Beste Komponenten im Einsatz
Das System benötigt dabei keinen Zugang zum Quellcode der Anwendung, dessen Funktionalität sie ausborgt. Stattdessen analysiert es die Prozesse der Anwendung und charakterisiert die Sicherheitschecks des Programms. Es kann dann auch Kontrollen von Anwendungen importieren, die in einer anderen Programmiersprache geschrieben sind.

Wenn der externe Quellcode in die fehlerhafte Applikation eingegangen ist, führt das System eine zusätzliche Analyse durch, die garantieren soll, dass der Programmfehler repariert wurde. «Wir haben eine Unzahl von Quellcodes, die in den Open-Source-Lagern erhältlich sind. Es gibt Millionen von Projekten. Und viele davon implementieren ähnliche Spezifikationen. CodePhage dagegen übernimmt die besten Komponenten von all diesen Implementierungen», erklärt Forschungsleiter Stelios Sidiroglou-Douskos.

Reparatur in nur wenigen Minuten
Die MIT-Experten testeten CodePhage bei sieben üblichen Open-Source-Programmen, in denen der Bug-Scanner «DIODE» tatsächlich Programmfehler entdeckt hatte. CodePhage importierte für jedes dieser Programme zwei bis vier Reperaturprogramme. In allen Fällen konnte das neue System den fehlerhaften Code wieder reparieren. Der Vorgang dauerte zwischen zwei und zehn Minuten.

Die Hoffnung ist, dass Programmentwickler nicht mehr so viel Zeit mit Sicherheitschecks vergeuden, indem diese automatisiert werden. «Heute sind 80 Prozent des Codes einer kommerziellen Software Sicherheitschecks», erläutert Sidiroglou-Douskos abschliessend. (pte/mc/ps)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert