MIT erfand eine Möglichkeit, Software-Bugs mit geliehenen Code automatisch beheben
Ein neues System von MITS CSAIL, oder Computer Science and Artificial Intelligence Laboratory, tut etwas unglaubliches, fehlerhafte Software zu beheben: Er leiht gesunde Code aus anderen Anwendungen – und dann behebt den Fehler ohne jemals Zugriff auf den ursprünglichen Quellcode.
Betrachten Sie es als eine Organtransplantation. Außer in diesem Fall ist der Kranke Patient eine fehlerhafte Software app. Und das "Spenderorgan" ist ein Stück Code aus einer anderen Anwendung, auch wenn es in eine ganz andere Sprache geschrieben ist. Das ist eine Metapher Roh und unvollkommen, aber es hilft, CodePhage, ein System zu erklären, die von MIT-Forscher bei der Association for Computing Machinery Programming Language Design und Implementation Conference in diesem Monat vorgestellt wurde, wie MIT News heute erklärt.
CodePhage der Schöpfer es folgendermaßen erklären: ein Programm mit einem Fehler ist der "Empfänger". Wenn CodePhage einen Fehler identifiziert, gesucht, ein Update von einer Reihe von anderen Programmen und Repositories. Sobald sie ein gutes Stück der "Spender" Code findet, es auf den Empfänger patches und testet, ob es passt – ohne jemals Zugriff auf den Quellcode. Es hält dies zu tun, bis er den idealen Spender findet.
Wirklich cool an diesem System ist, dass es zu beheben Fehler mithilfe von Lösungen, die nicht sogar in der gleichen Sprache, wodurch eine Art Patchwork aus guten Ideen aus den unterschiedlichsten Quellen geschrieben werden könnte. Finden Sie eine vollständige heruntergekommen wie CodePhage funktioniert in dieser Präsentation von einem seiner Schöpfer, Martin Rinard, sondern MIT News Rinard erklärte, wie CodePhage ist Teil einer größeren Anstrengung, ein System zu schaffen, die den neuen Code vollständig reduzieren wird:
"Die langfristige Vision ist, dass Sie nie ein Stück Code zu schreiben, die jemand anders, bevor geschrieben hat", sagt Rinard. "Das System findet dieses Stück Code und setzt es automatisch zusammen mit welchem Teile des Codes Sie Ihr Programm zu arbeiten müssen."
Die Feinheiten wie das System überprüft und erneut prüft seine Korrekturen mit einem symbolischen Ausdruck sind komplex, natürlich, aber auch aus Sicht eines Laien es ist leicht zu sehen, wie ein solches System CodePhage ein Vorläufer zu Systemen sein könnte, die ständig zu finden sind und Fehler ausbessern, Zeichnung auf die kollektive Intelligenz von mehreren Autoren und Quellen zu gebaut besser Anwendungen.
Schauen Sie für weitere Informationen sich MIT News verfasst.
Bild: ChromaWise
Kontaktieren Sie den Autor unter [email protected].