AI-pair-programmeertools, ontworpen om de ontwikkeling te versnellen, bieden voordelen, variërend van suggesties voor eenvoudige coderegels tot de mogelijkheid om volledige applicaties te bouwen en te implementeren, maar de valkuilen zijn aanzienlijk.
Naast het verbeteren van de productiviteit door het verlichten van enkele van de meer alledaagse codeertaken, ervaren ontwikkelaars die AI-pair-programmeertools gebruiken minder frustratie en kunnen ze zich concentreren op meer bevredigend werk, volgens een GitHub-enquête onder 2000 ontwikkelaars. Er bestaat een reeks van deze tools, waaronder de releases van dit jaar GitHub Copilot, Amazon CodeWhisperer en Tabnine. Ze sloten zich aan bij een lange lijst van bestaande door AI aangedreven bots, zoals Kite Team Server, DeepMind’s AlphaCode en IBM’s Project CodeNet.
Hoewel AI-paarprogrammering veelbelovend is in het genereren van voorspelbare, sjabloonachtige code – herbruikbare codefragmenten zoals voorwaardelijke verklaringen of lussen – moeten ontwikkelaars de kwaliteit en geschiktheid van codesuggesties in twijfel trekken, zei Ronald Schmelzer, managing partner bij het CPMAI AI-projectbeheer certificering bij Cognilytica.
“Het loopt tegen veel problemen aan over het al dan niet toepassen van de code, gaten in de beveiliging en bugs, en talloze auteursrechtelijke problemen”, zei hij.
Valkuilen van AI-paarprogrammering
Ondanks de duidelijke voordelen – waarvan er vele werden uiteengezet in de GitHub-enquête – moeten ontwikkelaars op hun hoede zijn voor door AI voorgestelde code-aanvullingen omdat ze niet gegarandeerd nauwkeurig zijn, zei Chris Riley, senior manager ontwikkelaarsrelaties bij marketingtechnologiebedrijf HubSpot. Ontwikkelaars moeten alle suggesties nauwlettend in de gaten houden, wat elk opgeslagen zoeken op ontwikkelaarssites naar codefragmenten kan tenietdoen, zei hij.
Een ander punt van zorg is de draagbaarheid, zei Riley. Als een aanzienlijk percentage van de code door AI wordt voorgesteld, kunnen ontwikkelaars die code mogelijk niet ondersteunen als deze de oorzaak is van een productieprobleem, zei hij.
Naast vragen over toepasbaarheid en ondersteuning, introduceren bots voor het voltooien van code unieke beveiligingsproblemen. Hoewel sommige tools voor het voltooien van code, zoals Kite Team Server, achter de firewall van een bedrijf kunnen draaien, vertrouwen andere op openbare artefactrepository’s, die mogelijk onveilig zijn, zei Riley. Het kan bijvoorbeeld mogelijk zijn voor aanvallers om het model te misbruiken om zero-day-kwetsbaarheden binnen te sluipen, zei hij.
Door de gemeenschap verstrekte code voegt een ander potentieel belangrijk struikelblok toe: auteursrechtelijke problemen. Omdat programmeertools voor AI-paar worden getraind op een breed scala aan code met verschillende licentieovereenkomsten, wordt het moeilijk om het eigendom vast te stellen, zei Schmelzer van Cognilytica. Bovendien, als de codegenerator wordt getraind op gegevens van gedeelde coderepositories – met name GitHub – dan kunnen ontwikkelaars auteursrechtelijk beschermde of privécode mengen met openbare code zonder enige geïdentificeerde bron, zei hij.
De opkomst van AI-paarprogrammering
Veel van de problemen met moderne AI-pairing-programmeertools waren niet aanwezig in vroege code-aanvullingsproducten, zoals Microsoft’s IntelliSense, dat voor het eerst werd geïntroduceerd in 1996. Deze tools gaven ontwikkelaars eenvoudige type-ahead-aanvulling binnen de compiler of IDE, zonder openbare repository kwetsbaarheden of problemen met de ondersteuning. Ontwikkelaars zouden deze basiscode-aanvulling een stap verder kunnen brengen met linters – tools die eenvoudige syntaxisfouten kunnen voorkomen – om de voorgestelde code te controleren, zei Riley.
Ik denk niet dat we op het punt zijn dat deze tools verder kunnen worden gebruikt dan rapid prototyping, educatie en suggesties.
Chris RileySenior manager van ontwikkelaarsrelaties, HubSpot
“Ik denk niet dat ontwikkelaars op dit moment andere verwachtingen hadden, en we waren blij met de suggesties in Google-stijl terwijl je typte,” zei Riley. “Het was er om de efficiëntie te verhogen, niet om de eerste bron van de code te zijn.”
Moderne AI-paarprogrammeurs gaan verder dan eenvoudige code-aanvulling en linting door volledige codeblokken voor te stellen, zei Riley. de tools kunnen contextuele code-aanvullingen bieden of volledige functies schrijven; geavanceerde tekstgeneratoren aangedreven door OpenAI’s GPT-3 – zoals Copilot – kunnen volledige applicaties bouwen en implementeren en eenvoudige Engelse zoekopdrachten omzetten in SQL-instructies die in alle databases werken.
“Na een lange tijd sceptisch te zijn geweest over de echtheid van de AI-gestuurde code-aanvullingstools, moet ik toegeven dat het de eerste keer dat ik het probeerde surrealistisch leek. [Copilot]”, zegt Anthony Chavez, oprichter en CEO van Codelab303. “Ik had soms het gevoel dat het mijn gedachten kon lezen.”
Maar ondanks de technologische vooruitgang, betekenen de problemen rond moderne AI-codeaanvullingstools dat ze beperkt zijn in hun bruikbaarheid, zei Riley.
“Ik denk niet dat we op het punt zijn dat deze tools verder kunnen worden gebruikt dan rapid prototyping, educatie en suggesties,” zei hij.
Aanstaande ouders krijgen vaak te horen dat ze van hun baby zullen houden zodra ze hem zien. Maar laten we eerlijk zijn, dat is meestal niet het geval. Zoals Kit Harington toegeeft: “Het kost tijd … Read more
We hebben de deals van vandaag gevonden voor een aantal van uw favoriete retailers, waaronder Amazon(Opent in een nieuw venster) en beste koop(Opent in een nieuw venster). Als je hebt geprofiteerd van de Disney+ en/of … Read more
Alima, een in Mexico gevestigde startup voor de toeleveringsketen, heeft $ 1,5 miljoen aan nieuwe financiering opgehaald om door te gaan met de ontwikkeling van datagestuurde tools voor bedrijven om de producten die ze nodig … Read more
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
0 Comments