Apple präsentiert Forschung: KI findet Programmierfehler, erzeugt Tests – und repariert sogar Code


Programmieren ist eine hochabstrakte Tätigkeit. Als Entwickler schreibt man Algorithmen in einer Programmiersprache, welche von anderen Entwicklern erfunden wurde, um zwischen Code, Betriebssystem und Hardware zu vermitteln. Über die Ebenen geht manches in der Übersetzung verloren, und so manche Fehlermeldung ist für den Auftraggeber ebenso unverständlich wie der ursprüngliche Code dem Compiler erschien. Als Hardware-, Software- und Betriebssystemhersteller sowie Anbieter der IDE Xcode kann Apple wahrscheinlich ein Lied davon singen. Die KI-Entwicklung, welche in Zusammenarbeit mit Apple entstand, möchte diese Verständigungsprobleme angehen. Dazu präsentierte das
Machine-Learning-Blog des Konzerns drei interessante Konzepte: eine innovative Fehleranalyse, eine automatisierte Testerstellungsroutine sowie ein Fitnessstudio („Gym“) für Software-Engineering-Agenten.
Einfache Syntaxfehler wie zu wenige oder zu viele Satzzeichen oder eine unbotmäßige Kombination von Tabs und Leerzeichen können viele Compiler bereits ohne umfangreiche Intelligenz abfangen. Komplexere Fehler erfordern eine detailliertere Erkennung der Zusammenhänge. Solche wollen Apples Forscher mit einer KI-ML-Konstruktion angehen, welche sie mit dem Kürzel
ADE-QVAET zusammenfassen. Mit deren Unterstützung sollen Code-Konstruktionen frühzeitig erkannt werden, welche im späteren Fortschreiten mit hoher Wahrscheinlichkeit zu Fehlern führen. Zudem zeigte der Ansatz eine hohe Erkennungswahrscheinlichkeit und reduzierte den Bedarf an menschengeführten Tests.
Testerstellung autmatisierenEin weiteres Paper nimmt sich der Testerstellung an, welche bei komplexen Softwareprojekten einen zunehmenden Umfang der Entwicklungsressourcen verschlingt. Tests überprüfen, ob die eigene Software die Resultate produziert, die man bei einer definierten Eingabe haben will. Mit dem
Agentic RAG soll nun ein Mechanismus entstanden sein, der in beispielhaften Softwaregroßprojekten eines Unternehmens zu schätzungsweise 35 Prozent Kostenersparnis führt.
Training für Software-AgentenEine dritte
Veröffentlichung widmet sich einem etwas abstrakteren Ziel, nämlich der Optimierung von KI-Agenten. Software-Engineering-Agenten (SWE) beabsichtigen, bei der Entwicklung viele Arbeitsschritte abzunehmen. Sie analysieren Fehlerberichte (etwa GitHub Issues), versuchen die Ursache zu ergründen, und schlagen eine Behebung des Problems in Form von vorgefertigtem Programm-Code vor. Für diese gibt es bisher zwar Bewertungsverfahren zur Leistungsfähigkeit (SWE-Bench), aber keine etablierte Methode, sie auf typische Fehler zu trainieren. Dies soll das mithilfe von Apple entstandene „SWE-Gym“ darstellen. Es besteht aus knapp 2500 Programmieraufgaben in der Skriptsprache Python. Die Problembeschreibungen sind in natürlicher Sprache verfasst, jede Aufgabe umfasst zudem den ursprünglichen Code und passende Laufzeittests. Die Software haben die Forscher auf
GitHub veröffentlicht.