Raportit
LLM:n koodauspersoonallisuudet sisältä – Sonar State of Code -raportin havaintoja

Elokuussa 2025 Sonar julkaisi viimeisimmän State of Code -tutkimuksensa, The Coding Personalities of Leading LLMs – A State of Code Report. Tämä tutkimus menee tarkemmin kuin vain tarkastamalla tarkkuusarvoja, ja se tutkii, miten suuret kielimallit kirjoittavat koodia ja paljastavat yksilölliset ”koodauspersoonallisuudet” kullekin.
Tutkimuksessa arvioitiin Claude Sonnet 4, Claude 3.7 Sonnet, GPT-4o, Llama 3.2 90B ja OpenCoder-8B yli 4 400 Java-tehtävän kautta Sonarin oman statisen analyysimoottorin avulla—teknologiaa, jota on jalostettu 16 vuoden ajan sen lippulaiva SonarQube Enterprise -alustalla.
Yhteiset vahvuudet
Kaikki viisi mallia osoittivat vahvaa syntaktista luotettavuutta, mikä tarkoittaa, että heidän generoimansa koodi käännetyi ja suoritettiin onnistuneesti useimmissa tapauksissa. Tämä heijastui heidän HumanEval -arvosanoissa, jossa malleja pyydettiin ratkaisemaan koodausongelmia ja heidän ratkaisunsa tarkistettiin automaattisesti oikeellisuuden varmistamiseksi. Claude Sonnet 4 oli listan kärjessä 95,57 prosentin HumanEval-arvosanalla ja 77,04 prosentin painotetulla Pass@1-lukemalla, mikä tarkoittaa, että sen ensimmäinen yritys oli oikein yli kolmen neljänneksen osalla tapauksista. Claude 3.7 Sonnet sai 72,46 prosenttia, GPT-4o 69,67 prosenttia, Llama 3.2 61,47 prosenttia ja OpenCoder-8B 60,43 prosenttia.
Tämä suorituskyky säilyi eri ohjelmointikielillä, osoittaen, että nämä mallit ratkaisevat ongelmia järkevästi eivätkä riipu pelkästään muistetusta syntaksista.
Yhteiset heikkoudet
Hätkimmäksi yhteiseksi heikkoudeksi osoittautui heikko turvallisuushygiene. Sonar mittasi estäviä haavoittuvuuksia, jotka ovat vakavin haavoittuvuusluokka—turvallisuusongelmat, jotka voivat johtaa suoraan merkittäviin haavoittuvuuksiin tai järjestelmän murenemiseen, jos niitä hyödynnetään. Esimerkkejä ovat koodi, joka sallii mielivaltaisen tiedoston pääsyn, SQL- tai komentoinjektion, kovakoodatut salasanat, väärin konfiguroitu salaus tai epäluotettavien varmenteiden hyväksyminen. Nämä olivat liian yleisiä: Claude Sonnet 4:llä oli 59,57 prosenttia haavoittuvuuksista tässä vakavuusluokassa, GPT-4o:lla 62,5 prosenttia ja Llama 3.2:lla hämmästyttävät 70,73 prosenttia.
Raportissa mainittiin myös toistuvat resurssivuodot, joka on bugityyppi, jossa koodi avaa resurssin—kuten tiedostohandle, verkkopisteen tai tietokantayhteyden—mutta ei sulje sitä oikein. Pitkään resurssivuodot voivat kuluttaa saatavilla olevat järjestelmäresurssit, mikä johtaa suorituskykyongelmiin tai kaatumisiin. Claude Sonnet 4:llä oli 54 tällaista rikkomusta, Llama 3.2:lla 50 ja GPT-4o:lla 25.
Ylläpidettävyyden osalta suurin osa ongelmista oli koodinhajuja—malleja, jotka eivät riko ohjelmaa välittömästi, mutta tekevät siitä hankalampaa ylläpitää ja alttiimpaa virheille tulevaisuudessa. Yli 90 prosenttia kaikista tunnetuista ongelmista kuului tähän luokkaan, usein liittyen käyttämättömiin koodiin, huonoihin nimistöihin, liialliseen monimutkaisuuteen tai rikkomuksiin suunnittelun parhaista käytännöistä.
Erityiset persoonallisuudet
Tästä vahvuuksien ja heikkouksien seosta Sonar tunnisti selkeät ”persoonallisuus”-profiilit.
Claude Sonnet 4 ansaitsi nimen ”The Senior Architect”. Se kirjoittaa pisimmän koodin—370 816 riviä testijoukon ylitse—with korkealla kognitiivisella monimutkaisuudella, mikä tarkoittaa, että sen logiikkapolut ovat vaikeampia seurata. Se suoriutuu hyvin, mutta on altis monimutkaisiin bugeihin, kuten resurssivuotoihin ja rinnakkaisuusvirheisiin, jotka voivat esiintyä, kun useat säikeet tai prosessit vuorovaikuttavat odottamattomalla tavalla.
OpenCoder-8B oli ”The Rapid Prototyper”, joka tuottaa lyhyen, keskittyneen koodin—120 288 riviä yhteensä—mutta korkeimmalla ongelmatiheydellä. Sen nopeus ja lyhyyden vuoksi se sopii hyvin esittelyihin, mutta on vaarallinen tuotannossa ilman huolellista tarkastelua.
Llama 3.2 90B oli ”The Unfulfilled Promise”. Se saavutti kohtuullisia tuloksia, mutta oli turvallisuuspelisyytensä vuoksi heikoin, yli 70 prosenttia haavoittuvuuksista luokiteltiin estäviksi.
GPT-4o oli ”The Efficient Generalist”, joka tasapainoitti toiminnallisuutta ja monimutkaisuutta, mutta usein kompastui ohjausvirheisiin—virheisiin ohjausjonojen loogisessa järjestyksessä, jotka voivat johtaa virheellisiin tuloksiin tai ohitettuihin koodiin.
Claude 3.7 Sonnet oli ”The Balanced Predecessor”, joka tuotti vähemmän verbiistä koodia kuin sen seuraaja, mutta korkeimmalla kommenttitiheydellä, 16,4 prosenttia, mikä tarkoittaa, että se selitti logiikkansa enemmän kuin mikään muu malli. Vaikka se oli parempi dokumentaatiossa, se kantoi edelleen merkittäviä korkean tason haavoittuvuuksia.
Yksi hämmästyttävimmistä havainnoista tuli vertaamalla Claude Sonnet 4:ää Claude 3.7:ään. Vaikka Sonnet 4 paransi läpäisyprosenttiaan 6,3 prosentilla, sen virheiden osuus, jotka luokiteltiin estäviksi, lähes kaksinkertaistui, 7,10 prosentista 13,71 prosenttiin. Estävät haavoittuvuudet kasvoivat myös 56,03 prosentista 59,57 prosenttiin. Oppi: suorituskyvyn parantaminen voi tulla turvallisuuden kustannuksella.
Johtopäätös
Sonarin The Coding Personalities of Leading LLMs – A State of Code Report osoittaa selvästi, että tarkkuusarvon mittaus kertoo vain osan tarinasta. Turvallisuusriskejä, ylläpidettävyyttä ja koodaustyylia on yhtä tärkeää kuin tietää, kuinka usein malli ”osuu oikein”.
Kukin persoonallisuus—olipa se arkkitehti, prototyyppi, generalisti tai tasapainotettu edeltäjä—on vahvuuksia ja kompromisseja. Johtopäätös kehittäjille ja organisaatioille on ”luota, mutta tarkista”, jossa yhdistetään tekoälyavustus ihmisten valvontaan, perusteelliseen koodin tarkasteluun ja tiukkaan turvallisuustarkasteluun, jotta nopeus ja helppous eivät vaaranna turvallisuutta tai pitkän aikavälin vakautta.












