2min

AI-assistentie bij het schrijven van programmeercode blijkt niet altijd positief uit te pakken. Op basis van onderzoek blijkt de kwaliteit toch tegen te vallen sinds de introductie van GitHub Copilot een jaar geleden.

Bij het GitClear-onderzoek keek men een jaar na de introductie van de AI-tool GitHub Copilot hoe het met de kwaliteit van de gegenereerde code is gesteld. Hiervoor onderzochten zij data van meer dan 150 miljoen veranderde lijnen aan code.

Deze code is voor tweederde afkomstig van private partijen en voor een derde uit open-sourceprojecten ondersteund door onder andere Google, Meta en Microsoft.

De onderzoekers onderzochten daarbij concreet toegevoegde code, code die is geüpdated, gekopieerd of verplaatst. Zogenoemde ‘noise’ of dezelfde code die in meerdere branches is toegevoegd, ‘blank lines’ en andere nietsbetekenende lijnen van code zijn hierbij weggelaten.

AI-assistent niet altijd goed

Uit de bevindingen blijkt dat AI-programmeerhulp als GitHub Copilot niet altijd goed bijdraagt aan de kwaliteit van de geproduceerde code. De onderzoekers van GitClear constateren dat de AI-assistent eigenlijk alleen suggesties geeft voor het toevoegen van code. Nooit worden suggesties gegeven voor het updaten, verplaatsen of verwijderen van code. Dat levert onder andere een aanzienlijke hoeveelheid redundante code op.

Daarnaast zouden ook alleen code-suggesties worden voorgesteld die ontwikkelaars waarschijnlijk zouden overnemen.

De onderzoekers constateren verder dat er met behulp van GitHub Copilot-code vooral wordt toegevoegd, verwijderd, geüpdatet en copy/pasted. Het aantal instances van code die wordt verplaatst, is echter gedaald. Ook zien zij een sterke toename van churn code. Dit laatste betekent dat code vaak wordt aangepast, meestal een slecht teken voor de kwaliteit.

Een grafiek die het codeverloop per jaar weergeeft.

Redenen

De achterliggende reden van al deze trends leggen de onderzoekers vooral bij het gebruik van AI-assistenten voor code. Hoe bedrijven deze problemen kunnen oplossen, is nog onderwerp van nader onderzoek.

Wel roepen de onderzoekers op ontwikkelaars en vooral de teamleiders van ontwikkelteams op de inkomende data goed in de gaten te houden en daarvan de toekomstige implicaties voor projecten te overwegen.

Lees ook: GitHub Copilot X gaat met GPT-4 helpen bij coderen