ETH KI-Spin-off DeepCode von Cybersecurity-Unicorn übernommen
Der ETH-Spin-off DeepCode hat die erste KI-Plattform für Codes gebaut. Nun wird er von Snyk übernommen, einem weltweit führenden Unternehmen für Code-Sicherheitsanalyse für Entwicklerinnen und Entwickler.
Der entscheidende Vorteil, der den ETH-Spin-off DeepCode auszeichnet, besteht darin, dass er das erste KI-System entwickelt hat, das aus Milliarden von Programmcodes schnell lernen kann und damit eine KI-basierte Erkennung von Problemen der Sicherheit und Zuverlässigkeit von Codes ermöglicht. DeepCode ist ein ausgezeichnetes Beispiel für ein modernes KI-System, das aus Daten, beziehungsweise in diesem Fall aus Programmcodes, lernen kann und dennoch für den Menschen transparent und interpretierbar bleibt.
Der Zusammenschluss mit Snyk, einem Unternehmen für Sicherheitstools, das es Entwicklern ermöglicht, Code-Schwachstellen schnell zu finden, und das einen Wert von rund 2,34 Mrd. Schweizer Franken hat, gibt DeepCode die Möglichkeit, seine KI-basierten Fertigkeiten in bestehende Snyk-Produkte zu integrieren. Damit kommt der Spin-off seinem ursprünglichen Ziel näher, Millionen von Nutzern weltweit zu erreichen. Die finanziellen Bedingungen der Vereinbarung wurden nicht bekannt gegeben.
Aus Daten lernen macht den Unterschied
DeepCode wurde ursprünglich mit dem Ziel gegründet, die erste KI-gestützte Code-Analyse-Plattform zu schaffen. Die Hauptmotivation war, dass die Entwickler in den letzten Jahren Milliarden von Codezeilen produziert haben, die zusammen mit entsprechenden Fehlerberichten, Fehlerbehebungen und anderen codebezogenen Informationen in einer Reihe von öffentlichen Repositorys (digitalen Archiven) frei verfügbar sind. Die Schlüsselidee war, ein KI-System zu bauen, das aus dieser neuen Art von Daten (als Big Code bezeichnet) lernen und verschiedene dringende Code-Qualitätsprobleme lösen sowie unbekannte Sicherheitslücken in Programmen aufdecken kann.
Ein wesentlicher Unterschied ist, dass DeepCode im Gegensatz zu früheren Codeanalyse-Werkzeugen, die manuelle, fehlerhafte, handgeschriebene Regeln erfordern, auf maschinellem Lernen aus Daten basiert: Es verarbeitet automatisch alle codebezogenen Informationen und erstellt voraussagende Modelle, die viel mehr Fehler mit einer Genauigkeit erkennen können, die andere kommerzielle Systeme nicht erreichen.
Darüber hinaus sind die Modelle von DeepCode interpretierbar. Das bedeutet, dass ein Mensch das Modell überprüfen und bei Bedarf Änderungen einführen kann, eine Fähigkeit, die über alle bestehenden modernen Deep Learning-Modelle hinausgeht. Dies macht DeepCode zu einem Fallbeispiel für ein KI-System der dritten Generation: Es kann aus Daten (in diesem Fall Code) lernen, ist aber dennoch von Menschen interpretierbar. Darüber hinaus hat DeepCode Fortschritte bei den Algorithmen erzielt, die diese KI nicht nur leistungsfähiger machen als herkömmliche Tools, sondern auch um Grössenordnungen schneller.
Von der Grundlagenforschung zum Markt
Während DeepCode 2016 gegründet worden ist, entstand der Forschungsbereich selbst an der ETH Zürich ab 2013 in Pionierarbeit, als Vechevs damaliger Doktorand Veselin Raychev und Martin Vechev, Professor am Secure, Reliable and Intelligent Systems Lab des ETH-Departements Informatik, zusammen mit Mitarbeitern den Grundstein legten. Sie bauten die ersten Prototypen von KI-basierten Systemen, die aus Codes lernen konnten, indem sie zeigten, wie man datengetriebene maschinelle Lernmethoden mit semantisch-statischen Codeanalyse-Methoden auf der Grundlage logischer Überlegungen kombinieren kann.
Interessanterweise wurden diese beiden Arten von Methoden damals als voneinander verschieden angesehen, ohne dass es einen klaren Weg gab, sie miteinander zu verbinden. Die Beobachtung dabei war, dass man, indem man Wege fand, scheinbar getrennte Bereiche zu verbinden, neue Arten von KI-Systemen aufbauen konnte, die effektiv Codes verarbeiten können – was ganz andere Herausforderungen ergibt als bei anderen Arten weitverbreiteter Daten wie Bilder, Videos, natürliche Sprache usw.
Während dieser Zeit – und unterstützt durch einen ERC Starting Grant Vechevs –veröffentlichte die ETH-Forschungsgruppe mehrere Pionierarbeiten und öffentliche KI-basierte Programmiersysteme für verschiedene Software-Aufgaben, die auch heute noch Tausende von Benutzern intensiv gebrauchen (z.B. externe Seite Deobfuskation, was so viel bedeutet wie, dass ein Programmcode «enthüllt» wird, um ihn verständlich zu machen).
Ein Code-Analysesystem für jede Entwicklerin
Für seine bahnbrechenden Arbeiten zum Lernen vom Big Code erhielt Veselin Raychev die ETH-Medaille für eine herausragende Doktorarbeit sowie den prestigeträchtigen externe Seite ACM Doctoral Dissertation Award, Honorable Mention (Top 3 Dissertation in Informatik, weltweit), womit er erst der dritte europäische Doktorand in der 40-jährigen Geschichte dieses Preises ist und der erste Doktorand der ETH Zürich, der eine solche Auszeichnung erhält.
Nachdem er auf dem Forschungsgebiet des maschinellen Lernens von Big Code Pionierarbeit geleistet hatte, war der Aufbau eines KI-basierten Codeanalyse-Systems, das in der Produktion und im grossen Massstab funktioniert, ein natürlicher nächster Schritt. Das Ziel war, dass jede Entwicklerin, jeder Entwickler und jede Firma, die Software erstellt, das Code-Analysesystem verwenden kann. Daraus entstand die Geburtsstunde von externe Seite DeepCode, das von CTO Veselin Raychev, CEO Boris Paskalev und ETH-Professor Martin Vechev gemeinsam gegründet worden ist und derzeit mehr als 4 Millionen beitragende Entwicklerinnen und Entwickler und über 100’000 Repositorys schützt, die den Service von DeepCode abonniert haben.