DeepCode findet Fehler im Quellcode von Software mithilfe von KI.

Heute hat das Schweizer Start-up DeepCode, das künstliche Intelligenz und maschinelles Lernen zur Automatisierung der Analyse von Programmcodes einsetzt, eine Investition von 4 Millionen Dollar von den Venture-Capital-Fonds Earlybird, 3VC und Btov Partners bekannt gegeben. Das Unternehmen plant, diese Mittel zu verwenden, um die Unterstützung für neue Programmiersprachen in seinen Service zu integrieren sowie das Produkt auf dem globalen IT-Markt zu vermarkten.

DeepCode findet Fehler im Quellcode von Software mithilfe von KI.

Die Codeanalyse ist notwendig, um Fehler, potenzielle Sicherheitsanfälligkeiten, Verstöße gegen die allgemein anerkannten Formatierungsstile und vieles mehr in den frühen Entwicklungsphasen von Software zu erkennen, bevor der Code irgendwo eingesetzt wird. Diese Prozedur wird normalerweise parallel zur Entwicklung neuer Codes durchgeführt und sofort nachdem dieser abgeschlossen ist, um die Testphase einzuleiten. "Softwaretests betrachten den Code von außen, während die Codeanalyse einen Blick von innen ermöglicht", erklärt der Mitgründer und CEO von DeepCode, Boris Paskalev, in einem Interview mit VentureBeat.

In der Regel erfolgt die Codeprüfung durch seine Autoren zusammen mit Kollegen und Managern, um offensichtliche Fehler zu erkennen, bevor die nächsten Entwicklungsstufen erreicht werden. Je größer das Projekt ist, desto mehr Codezeilen müssen überprüft werden, was erhebliche Zeit für die Programmierer in Anspruch nimmt. Werkzeuge, die diesen Prozess beschleunigen sollen, gibt es schon seit langer Zeit, wie beispielsweise statische Code-Analyzer wie Coverity und PVS-Studio, jedoch sind sie in der Regel in ihren Möglichkeiten eingeschränkt, da sie sich auf "ärgerliche und wiederkehrende stilistische Probleme, Formatierungen und kleine logische Fehler" konzentrieren, erklärt Paskalev.

DeepCode hingegen deckt ein breiteres Spektrum an Problemen ab, indem es Schwachstellen wie Cross-Site-Scripting und SQL-Injection erkennt, da die darin eingebetteten Algorithmen den Code nicht einfach als Zeichenfolge analysieren, sondern versuchen, den Sinn und Zweck des geschriebenen Programms zu verstehen. Grundlage hierfür ist ein maschinelles Lernsystem, das Milliarden von Codezeilen aus öffentlichen Open-Source-Projekten zur Schulung verwendet. DeepCode analysiert frühere Versionen des Codes und die vorgenommenen Änderungen, um zu ermitteln, welche Fehler und wie echte Programmierer diese in ihrer Arbeit behoben haben, und schlägt dann ähnliche Lösungen für seine Benutzer vor. Darüber hinaus verwendet das System auch traditionelle Prognosealgorithmen, um mögliche Probleme im Code zu finden, ähnlich den oben erwähnten statischen Analysewerkzeugen.

Eine der zentralen Fragen bei der Verwendung von DeepCode lautet: Wie zuverlässig ist die automatische Codeprüfung? Eine Analysegenauigkeit von weniger als 100 % bedeutet, dass Entwickler ihren Code trotzdem manuell überprüfen müssen. In diesem Fall, wie viel Zeit kann der Einsatz von Automatisierungswerkzeugen tatsächlich einsparen? Laut Paskalev kann DeepCode Entwicklern etwa 50 % der Zeit sparen, die sie derzeit mit der Fehlersuche verbringen, was eine ziemlich bedeutende Zahl ist.

Entwickler können DeepCode mit ihren GitHub- oder Bitbucket-Konten verbinden; das Tool unterstützt zudem lokale GitLab-Konfigurationen. Darüber hinaus bietet das Projekt eine spezielle API, die es Entwicklern ermöglicht, DeepCode in ihre eigenen Entwicklungssysteme zu integrieren. Nach der Verbindung mit dem Repository wird DeepCode jede Codeänderung analysieren und potenzielle Probleme kennzeichnen.

DeepCode findet Fehler im Quellcode von Software mithilfe von KI.

„Im Durchschnitt verbringen Entwickler etwa 30 % ihrer Zeit mit der Fehlersuche und -behebung, aber DeepCode kann bereits jetzt die Hälfte dieser Zeit einsparen und in Zukunft sogar noch mehr“, behauptet Boris. „Da DeepCode direkt von der weltweiten Gemeinschaft der Entwickler lernt, ist es in der Lage, mehr Probleme zu erkennen, als jemals ein einzelner Mensch oder eine ganze Gruppe von Gutachtern finden könnte.“

Neben der heutigen Nachricht über die erhaltenen Investitionen hat DeepCode auch eine neue wertvolle Produktpolitik angekündigt. Bisher war DeepCode nur für Open-Source-Softwareprojekte kostenlos. Jetzt wird es auch für Bildungszwecke und sogar für kommerzielle Unternehmen mit weniger als 30 Entwicklern kostenlos sein. Offensichtlich wollen die Schöpfer von DeepCode mit diesem Schritt ihr Produkt bei kleinen Teams bekannter machen. Zusätzlich erhebt DeepCode 20 Dollar pro Entwickler und Monat für die Bereitstellung der Lösung in der Cloud und 50 Dollar pro Entwickler für den lokalen Support.

Das DeepCode-Team hatte zuvor bereits 1 Million Dollar an Investitionen erhalten. Mit weiteren 4 Millionen gab das Unternehmen bekannt, dass es plant, die unterstützten Programmiersprachen über Java, JavaScript und Python hinaus zu erweitern, darunter die Unterstützung von C#, PHP und C/C++. Sie bestätigten auch, dass sie an einer eigenen integrierten Entwicklungsumgebung arbeiten.



Quelle: 3dnews.ru
60GB SSD 8Gb DDR4