Onderzoek geeft inzicht in de impact van GitHub Copilot op de productiviteit van ontwikkelaars

Onderzoek geeft inzicht in de impact van GitHub Copilot op de productiviteit van ontwikkelaars

Kon je Transform 2022 niet bijwonen? Bekijk nu alle topsessies in onze on-demand bibliotheek! Kijk hier.


Onlangs is het schrijven van softwarecode een veelbelovende use case geworden voor grote taalmodellen zoals GPT-3. Tegelijkertijd zijn er, net als veel andere ontwikkelingen op het gebied van kunstmatige intelligentie (AI), bezorgdheid over hoeveel van de opwinding rond codering op basis van grote taalmodellen (LLM) een hype is.

Een nieuwe studie van GitHub toont aan dat Copilot, de AI-codeprogrammeerassistent, resulteert in een aanzienlijke toename van de productiviteit en het geluk van ontwikkelaars. Copilot gebruikt Codex, een gespecialiseerde versie van GPT-3 die is getraind op gigabytes aan softwarecode, om instructies automatisch aan te vullen, volledige functies te genereren en andere delen van het schrijven van broncode te automatiseren.

Het onderzoek komt een jaar nadat GitHub de technische preview van zijn Copilot-tool lanceerde en slechts een paar maanden nadat het publiekelijk beschikbaar werd. Het onderzoek van GitHub ondervroeg meer dan 2.000 programmeurs – voornamelijk professionele ontwikkelaars en studenten, die het afgelopen jaar Copilot hebben gebruikt.

Hoewel AI-geassisteerd coderen nog een nieuw veld is en meer onderzoek nodig heeft, geeft het onderzoek van GitHub een goed beeld van wat je kunt verwachten van tools zoals Copilot.

Evenement

MetaBeat 2022

MetaBeat zal opinieleiders samenbrengen om advies te geven over hoe metaverse technologie de manier zal veranderen waarop alle industrieën communiceren en zaken doen op 4 oktober in San Francisco, CA.

Registreer hier

geluk en productiviteit

Volgens de bevindingen van GitHub voelt 60-75% van de ontwikkelaars zich “meer tevreden met hun werk, voelen zich minder gefrustreerd bij het coderen en kunnen zich concentreren op meer bevredigend werk” bij het gebruik van de Copilot-tool.

Je voldaan en tevreden voelen is een subjectieve ervaring, hoewel er enkele gemeenschappelijke kenmerken zijn in wat ontwikkelaars meldden.

“Kenniswerkers in het algemeen – en dat geldt ook voor softwareontwikkelaars – zijn geïntrigeerd en gemotiveerd door probleemoplossing en creativiteit”, vertelde GitHub-onderzoeker, Eirini Kalliamvakou, aan VentureBeat. “Een ontwikkelaar vindt het bijvoorbeeld meestal bevredigender om na te denken over welke ontwerppatronen ze moeten gebruiken, of hoe ze een oplossing kunnen ontwerpen die een bepaalde logica implementeert, een resultaat stuurt of een probleem oplost. In vergelijking daarmee wordt het uit het hoofd onthouden van syntaxis of het ordenen van parameters beschouwd als ‘zwoegen’ waar de meeste ontwikkelaars graag snel doorheen zouden komen.”

Copilot helpt ontwikkelaars ook om “mentale inspanning te behouden tijdens repetitieve taken”, meldde 87% van de respondenten. Dit zijn taken die frustrerend en foutgevoelig zijn, zoals het schrijven van een SQL-migratie om het schema van een database bij te werken.

“Met uitzondering van databasebeheerders, schrijven ontwikkelaars SQL-migraties misschien niet vaak genoeg om alle specifieke SQL-syntaxis te onthouden,” zei Kalliamvakou. ‘Maar het is een taak die vaak genoeg gebeurt om de mentale kosten van de niet-onmiddellijke terugroepactie op te tellen. GitHub Copilot neemt veel van de moeite in dit scenario weg.”

Ontwikkelaars hebben de neiging om “in de flow te blijven” bij het gebruik van Copilot, zo blijkt uit de enquête, wat betekent dat ze minder tijd besteden aan het doorbladeren van referentiedocumenten en online forums zoals StackOverflow om oplossingen te vinden. In plaats daarvan vragen ze Copilot met een tekstbeschrijving en krijgen ze een code die grotendeels correct is en die misschien een beetje moet worden aangepast.

Snellere voltooiing van taken

Meer dan 90% van de respondenten van de enquête meldde dat Copilot hen helpt taken sneller uit te voeren – een bevinding die verwacht werd. Om de snelheidsverbetering verder te meten, voerde GitHub echter een grondiger experiment uit, waarbij 95 ontwikkelaars werden geworven en hen de taak gaf om een ​​basis HTTP 1.1-server helemaal opnieuw in JavaScript te schrijven.

De deelnemers werden verdeeld in twee groepen, een testgroep van 45 ontwikkelaars die Copilot gebruikten en een controlegroep van 50 ontwikkelaars die de AI-assistent niet gebruikten. Hoewel de voltooiing van de taak niet overweldigend verschilde tussen de twee groepen, was de voltooiingstijd dat wel. De Copilot-groep kon de servercode invullen in minder dan de helft van de tijd die de controlegroep nodig had.

Hoewel dit een belangrijke bevinding is, zou het interessanter zijn om te zien met welke soorten taken Copilot meer heeft geholpen en voor welke gebieden meer handmatige codering vereist is. Hoewel GitHub hierover geen cijfers had, vertelde Kalliamvakou aan VentureBeat dat zij en haar groep “meer analyses uitvoeren op de code die de deelnemers schreven, en van plan zijn om in de nabije toekomst meer te delen.”

Codebeoordeling en beveiliging

Het is vermeldenswaard dat LLM’s code niet op dezelfde manier begrijpen en genereren als mensen, wat bij onderzoekers tot bezorgdheid heeft geleid. Een van deze zorgen, die ook in de originele Codex-paper wordt genoemd, is de mogelijkheid dat AI-tools foutieve en mogelijk onveilige codesuggesties geven. Er zijn ook zorgen dat ontwikkelaars na verloop van tijd Copilot-suggesties zouden kunnen accepteren zonder de code te bekijken die het genereert, wat kwetsbaarheden kan veroorzaken en nieuwe aanvalsvectoren kan openen.

Hoewel de nieuwe studie van GitHub geen informatie bevat over de invloed van Copilot op veilige coderingspraktijken, zei Kalliamvakou dat GitHub blijft werken aan het verbeteren van het model en de codesuggesties. Ondertussen benadrukte ze dat suggesties van GitHub Copilot “zorgvuldig moeten worden getest, beoordeeld en doorgelicht, net als elke andere code.”

“Naarmate GitHub Copilot verbetert, zullen we eraan werken om onveilige code of code van lage kwaliteit uit te sluiten van de trainingsset. We denken dat Copilot op de lange termijn veiligere code zal schrijven dan de gemiddelde programmeur”, aldus Kalliamvakou.

Kalliamvakou voegde toe dat GitHub’s onderzoek naar Copilot nieuwe gebieden heeft onthuld waar AI ontwikkelaars kan helpen, waaronder ondersteuning voor Markdown, betere interactie tussen Copilot en Intellisense-suggesties en het gebruik van de tool in andere delen van de levenscyclus van softwareontwikkeling, inclusief testen en codebeoordeling.

“Onze grootste investering zit in het verbeteren van het model en de kwaliteit van de suggesties van GitHub Copilot, aangezien dat de bron is van de merkbare voordelen die onze gebruikers ervaren”, zei Kalliamvakou. “In de loop van de tijd verwachten we dat GitHub Copilot in staat zal zijn om meer van de standaardtekst en repetitieve codering te verwijderen die ontwikkelaars als belastend beschouwen, waardoor er meer ruimte ontstaat voor werkplezier en vervulling.”

De missie van VentureBeat is een digitaal stadsplein voor technische besluitvormers om kennis op te doen over transformatieve bedrijfstechnologie en transacties. Ontdek onze briefings.

Leave a Reply

Your email address will not be published.