Joidenkin tutkimusten mukaan jopa puolet kaikesta ohjelmakoodista tuotetaan nyt jonkinlaisen tekoälyavustimen tuella. Ohjelmistoyhtiö SmartBearin teknologiajohtaja Dan Faulknerin mukaan tämä ei aina tarkoita pelkästään nopeampaa ja parempaa koodia.
Koodaajat ovat käyttäneet erilaisia ”copilotteja” jo sen aikaa, että työkalujen tuotoksista alkaa kertyä riittävästi dataa. Avustimien tärkein ominaisuus on lupaus koodauksen nopeutumisesta. Faulknerin mukaan tähän lupaukseen työkalut vastaavat hyvin.
- Koodausavustajat nopeuttavat ja demokratisoivat hyvien, kestävien ohjelmistojen kehitystä. Nopeus on edelleen vakuuttava. Koodausavustajat ovat hyödyllisiä työkaluja, joita tulee kuitenkin käyttää varoen.
Faulknerin mukaan yksi ongelma on se, että koodausavustajat itse muuttuvat nopeasti. Kaksi liikkuvaa kohdetta tekee lopullisesta arvioinnista hankalaa. Muitakin haasteita on.
- Joku, joka osaa kirjoittaa koodia, ei välttämättä ole hyvä muokkaamaan avustajan koodia. Ne ovat erilaisia taitoja, ja meidän pitäisi osata ennakoida erilaisia tuloksia.
Faulkerin mukaan on selvää, että koodausavustajat ovat hyviä rikastamaan testejä ja parantamaan testien kattavuutta. Lisäksi ne auttavat selittämään monimutkaista koodia tai koodia, joka on kirjoitettu kehittäjälle tuntemattomalla kielellä.
- Koodausavustajan tulos voi olla toiminnallisesti oikea, mutta silti itse koodi ei välttämättä ole hyvää. Koodissa voi olla bugeja, se voi ohjeiden vastaista ja jopa estää uudelleenkäyttöä. Tässä prosessissa koodaajan on oltava taitava ja ahkera säilyttääkseen laadun ja turvallisuuden.
On ilmeistä, että ajan, huomion, kokemuksen tai luottamuksen puutteen vuoksi paljon huonoa koodia hyväksytään maailman repoihin eli koodivarastoihin. - Tämän heikon koodin kokonaiskustannuksia on punnittava suhteessa nopeuden nousuun, johon kaikki ovat nyt keskittyneet.
Faulknerin mukaan tarvitsaan uusia lähestymistapoja ohjelmistojen laatuun ja tietoturvaan, kun koodin nopeus kasvaa ja koodin laatu heikkenee.