Om du på senare tid jobbat tillsammans med den trevliga, snabba och noggranna Github-användaren Luc Esape har du i själva verket jobbat med programmerarbotten Repairnator, utvecklad av ett forskarlag på KTH under ledning av Martin Monperrus.

Programmeringsbottar är inget nytt, men tidigare generationer har inte levt upp till kraven på antingen snabbhet eller kvalitet, eller både och. En utmaning ligger även i att de som ska utvärdera koden från en bot tenderar att ha en viss partiskhet i ryggmärgen, vilket gör det svårt att göra oberoende utvärderingar – om de vet om att koden kommer från en bot, vill säga, skriver MIT Technology Review.

Läs också: Mobb-programmering ökar kvaliteten hos resejätten – så funkar det

Alltså tänkte Monperrus och hans forskarlag ut en plan: De tänkte testa Repairnator i den tuffa verkligheten på kodplattformen Github. De skapade användaren Luc Esape, en ung programmerare inom gruppen på KTH, med profilbild och allt, pigg på att komma in i gemenskapen på Github och visa sina skillz.

Under den första testomgången, mellan februari och december 2017, fick Repairnator gå igenom 14 188 Github-projekt i jakten på fel i koden. Forskarna såg då att Repairnator hade en kapacitet att producera cirka trettio försök att laga kod per dag. Repairnator analyserade 11 500 kodbyggen med fel, av dessa kunde den återskapa 3000 av felen och utveckla 15 lagningar. Men ingen av lagningarna blev accepterade av granskarna på Github då ”Luc” tog för lång tid på sig, eller inte levde upp till kvalitetskraven.

Den andra testomgången gick bättre. Repairnator sattes då att fokusera på ett specifikt projekt, Travis - en tjänst för kontinuerlig integration. Den 12 januari 2018 kodade ”Luc” en lagning som blev accepterad av projektet. Under de följande sex månaderna lyckades “Luc” bidra med fem lagningar som blev accepterade. För första gången, skriver forskarna, var Repairnator lika konkurrenskraftig som en mänsklig utvecklare.

Läs också: AWS slår upp ”loft” mitt i Stockholm – vill locka till sig huvudstadens utvecklare

Det är en gammal våt dröm att kunna automatisera felsökning och lagning av kod. Det är ett trist, men nödvändigt göra, som tar tid från den mer kreativa sidan av utveckling. Martin Monperrus och hans forskarlag menar nu att tekniken, tack vare Repairnator, kommit så långt att kodbottar är realistiska alternativ.

Repairnator
Foto: KTHSkiss över Repairnators funktion.

Det finns en hake: Avtalen utvecklarna ofta behöver skriva på för att kunna bidra med kod till olika projekt. Vem äger de immateriella rättigheterna, och ansvaret för, den kod som en bot producerar? Det är en fråga som måste lösas, enligt Martin Monperrus på KTH.

De mänskliga utvecklarna på Github som varit i kontakt med”“Luc” har sedan projektavslutet informerats om vem ”Luc” egentligen var.