Zum Hauptinhalt Zur Navigation

Codesearchnet: Github will Code-Suche mit Wettbewerb verbessern

In offensichtlicher Anlehnung an Imagenet will Code-Hoster Github mit Codesearchnet einen Deep-Learning-Wettbewerb für die semantische Suche in Code etablieren. Der Datensatz dafür umfasst 6 Millionen Methoden, teils mit Dokumentation und Metadaten.
/ Sebastian Grüner
5 Kommentare News folgen (öffnet im neuen Fenster)
Github will die semantische Suche in Code verbessern. (Bild: Github)
Github will die semantische Suche in Code verbessern. Bild: Github

In dem Imagenet-Projekt sammeln Forscher Millionen Fotos, die bestimmten Kategorien zugeordnet sind. Damit lassen sich Deep-Learning-Systeme zur Bilderkennung nicht nur trainieren, sondern auch deren Qualität wegen der gleichen Daten sehr gut miteinander vergleichen. Der Code-Hoster Github will dieses Konzept nun offensichtlich für die semantische Suche in Quellcode adaptieren und startet das Projekt Codesearchnet(öffnet im neuen Fenster) .

In der Ankündigung durch Github(öffnet im neuen Fenster) heißt es, dass Suchmaschinen für Quellcode oft frustrierend seien und nie komplett verstünden, was von ihnen verlangt werde. Und trotz einer Verbesserung der Technik durch die Verwendung moderner Machine-Learning-Ansätze fehle bisher ein einheitlicher Datensatz, um die Ergebnisse zu evaluieren. Genau das soll nun Codesearchnet liefern.

Der von Github dazu erstellte Datensatz speist sich aus dem Code von Open-Source-Projekten auf der Plattform des Anbieters und umfasst Funktionen mit Dokumentation der Sprachen Go, Java, JavaScript, PHP, Python und Ruby. Für die Vorverarbeitung der Code-Daten setzt Github auf den eigenen Parser-Generator Tree-sitter(öffnet im neuen Fenster) und den darauf aufbauenden Function Parser(öffnet im neuen Fenster) , mit dessen Hilfe ASTs sowie eventuelle Dokumentation und Metadaten zu den einzelnen Funktionen erzeugt werden.

Den Datensatz stellt Github in einem Amazon-S3-Bucket zum Download bereit. Insgesamt umfasst dies laut dem Anbieter rund sechs Millionen Methoden, wovon zwei Millionen damit assoziierte Dokumentation aufweisen. Hinzu kommen Metadaten wie der Fundort des Codes. Der Code zum damit erstellten Modell findet sich natürlich ebenfalls Github. Weitere Details beschreibt ein wissenschaftliches Paper(öffnet im neuen Fenster) .


Relevante Themen