Crokage: Quelltexthilfe nutzt Millionen Antworten von Stack Overflow

IT-Forscher haben eine Software entwickelt, die mithilfe des Entwicklerportals Stack Overflow verständliche Antworten auf Suchanfragen von Entwicklern geben soll. Crokage(öffnet im neuen Fenster) interpretiert Suchstrings und liefert Lösungen in Form von Code-Beispielen und Tutorials, die bestimmten Quelltextpassagen, Methoden, Klassen und Funktionen erklären soll. Grundlage des Machine-Learning-Systems sind die auf Stack Overflow veröffentlichten 18 Millionen Fragen und 27 Millionen Antworten auf diese.
"Eine der mächtigsten Eigenschaften von Stack Overflow ist die Ansammlung von Entwicklerwissen über die Zeit" , schreibt das Entwicklerportal in einem Blog-Post(öffnet im neuen Fenster) . Crokage macht sich dieses Wissen zunutze. Es soll dabei eine Lösung für die häufig auftretenden semantischen Unterschiede zwischen den Fragestellungen der Entwickler und den Antworten des von ihnen genutzten Systems sein. Diese seien oft nicht oder nur zum Teil zufriedenstellend. "Diese Probleme veranlassen Entwickler dazu, Dutzende Dokumente zu durchsuchen, um eine zufriedenstellende Lösung zu erstellen." , schreiben die Entwickler in der Zusammenfassung des Projektes.
Noch in der Testphase
Crokage wendet Texterkennung auf hochrangige Antworten in Stack-Overflow-Threads an, um diese verarbeiten zu können. Das Grundgerüst stellt Fasttext(öffnet im neuen Fenster) , ein bereits trainierter Textklassifizierer. Anschließend liefert die Software Quellcodebeispiele und -Erklärungen zurück. In ersten Tests soll das Programm herkömmlichen Codesuchen überlegen sein. Allerdings wurde dies bisher nur bei 97 Programmierbeispielen getestet, von denen die Hälfte für das weitere Training von Crokage genutzt wurde. 29 Entwickler waren in den Test involviert. Für eine produktive Anwendung sind wohl noch weitaus umfangreichere Testsituationen notwendig.
Eine erste eingeschränkte Testversion von Crokage ist bereits auf einer entsprechenden Webseite verfügbar(öffnet im neuen Fenster) . Derzeit beschränkt sich die Software auf die Programmiersprache Java. Nutzer können sie ausprobieren und Bewertungen abgegeben. Diese können den Entwicklern wiederum helfen, Ergebnisse künftig zu verbessern.



