Das Softwarepaket der MIT-Studenten korrigiert automatisch den Betrieb von Programmen

Bild

Auf einer Konferenz zur Entwicklung und Implementierung von Programmiersprachen stellte ein Team von Computerexperten des Massachusetts Institute of Technology (MIT) ein System mit erstaunlichen Funktionen vor . Demnach findet dieses Softwarepaket automatisch Fehler in Programmen und korrigiert sie, indem es an ihrer Stelle Teile ersetzt, die für die Funktionalität anderer Programme geeignet sind. Gleichzeitig muss sich das System nicht mit dem Quellcode des Programms vertraut machen, das für den Betrieb korrigiert wird - es benötigt nur eine ausführbare Datei.

Die virtuosen Programmierer nannten ihr Programm CodePhage (Codephage). Die Entwickler erklären, dass ihr System "die Ausführung des Programms analysiert und die Arten der von ihm durchgeführten Sicherheitsüberprüfungen charakterisiert". Danach kann der Codeophage die gleichen Prüfungen von anderen Spenderprogrammen übernehmen, auch wenn diese in anderen Programmiersprachen geschrieben sind, und sie dem Empfängerprogramm zuführen. Wie Spender dafür ausgewählt werden, haben die Entwickler nicht angegeben.

„Es gibt bereits viele Open-Source-Programme - es gibt Millionen von Projekten in den Repositories, und viele von ihnen erfüllen ähnliche Spezifikationen“, sagt Stelios Sidiroglu-Duskos, unter dessen Leitung CodePhage entwickelt wurde. - Auch wenn sich die Programme wesentlich unterscheiden, können sie häufig Komponenten mit ähnlichen Funktionen finden. Mit CodePhage wird es eines Tages möglich sein, ein solches Hybridsystem zu erstellen, das die besten Komponenten aus allen verfügbaren Implementierungen enthält. “

Um die Suche nach Fehlern zu starten, benötigt der magische Code-Phage ein wenig - eine Reihe von Eingabedaten, bei denen das untersuchte Programm abstürzt, und eine andere, bei der es nicht abstürzt. Dann startet der Codephage automatisch das Spenderprogramm mit diesen Datensätzen und zeichnet seine Arbeit auf. Wenn das Empfängerprogramm beispielsweise Dateien eines bestimmten Formats öffnen kann, aber auf eine Datei stößt, zeichnet CodePhage alles auf, was das „richtige“ Spenderprogramm mit dieser Datei macht, insbesondere, welche Überprüfungen es durchführt. Danach analysiert der Codeophagus, wie sich die Funktionsweise des Spenderprogramms von der Funktionsweise des Empfängerprogramms unterscheidet, und korrigiert den Empfänger entsprechend.

Die Entwickler behaupten, dass ihr Programm die falsch funktionierenden Programme erfolgreich behoben hat, und blicken optimistisch in die Zukunft, in der Programmierer nicht die Codeteile schreiben müssen, deren Funktionalität bereits von jemandem implementiert wurde.

"Die Technologie, Code aus einem anderen Programm mit ähnlicher Funktionalität auszuleihen und ein fehlerhaftes Programm damit zu korrigieren, ist sicherlich cool", sagte Emery Berger, IT-Professor an einer anderen Universität von Massachusetts in Amherst, der die Arbeit von Spezialisten kommentierte. "Um ehrlich zu sein, bin ich überrascht, dass sie sogar arbeitet."

Source: https://habr.com/ru/post/de381263/


All Articles