Report
All’interno delle Personalità di Codifica dei Principali LLM – Informazioni dal Rapporto Sonar State of Code

Nell’agosto 2025, Sonar ha pubblicato il suo ultimo State of Code studio, Le Personalità di Codifica dei Principali LLM – Un Rapporto State of Code. Questa ricerca va oltre i punteggi di accuratezza, esaminando come i grandi modelli linguistici scrivono effettivamente il codice e rivelando uniche “personalità di codifica” per ciascuno.
Lo studio ha valutato Claude Sonnet 4, Claude 3.7 Sonnet, GPT-4o, Llama 3.2 90B e OpenCoder-8B su oltre 4.400 assegnazioni Java utilizzando il motore di analisi statica di Sonar – tecnologia raffinata nel corso di 16 anni attraverso la sua piattaforma SonarQube Enterprise.
Punti di Forza Condivisi
Tutti e cinque i modelli hanno dimostrato una forte affidabilità sintattica, il che significa che il codice generato si è compilato e ha funzionato con successo nella maggior parte dei casi. Ciò è stato riflesso nei loro punteggi HumanEval, un test di benchmark in cui i modelli vengono chiesti di risolvere problemi di codifica e le loro soluzioni vengono controllate automaticamente per la correttezza. Claude Sonnet 4 ha guidato la classifica con un punteggio HumanEval del 95,57% e un tasso ponderato Pass@1 del 77,04%, il che significa che il suo primo tentativo era corretto in oltre tre quarti dei casi. Claude 3.7 Sonnet ha ottenuto un punteggio del 72,46%, GPT-4o del 69,67%, Llama 3.2 del 61,47% e OpenCoder-8B del 60,43%.
Questa prestazione si è mantenuta costante attraverso diversi linguaggi di programmazione, mostrando che questi modelli stanno ragionando attraverso i problemi piuttosto che affidarsi solo alla sintassi memorizzata.
Debolezze Comuni
Il difetto condiviso più allarmante è stata la scarsa igiene della sicurezza. Sonar ha misurato vulnerabilità a livello di blocco, che sono la categoria più grave di difetti – problemi di sicurezza che possono portare direttamente a violazioni o compromissioni del sistema se sfruttati. Esempi includono codice che consente l’accesso arbitrario ai file, iniezioni SQL o di comando, password hardcoded, crittografia non configurata o certificati non attendibili. Questi erano fin troppo comuni: Claude Sonnet 4 aveva il 59,57% delle sue vulnerabilità a questo livello, GPT-4o il 62,5% e Llama 3.2 un preoccupante 70,73%.
Il rapporto ha anche notato perdite di risorse ripetute, un tipo di bug in cui il codice apre una risorsa – come un handle di file, una socket di rete o una connessione al database – ma non la chiude correttamente. Nel tempo, queste perdite possono esaurire le risorse di sistema disponibili, portando a problemi di prestazioni o crash. Claude Sonnet 4 aveva 54 violazioni di questo tipo, Llama 3.2 ne aveva 50 e GPT-4o 25.
Per quanto riguarda la manutenibilità, la maggior parte dei problemi erano odori di codice – modelli che non rompono il programma immediatamente ma lo rendono più difficile da mantenere e più propenso a bug in futuro. Oltre il 90% di tutti i problemi identificati rientravano in questa categoria, spesso coinvolgendo codice non utilizzato, nomi scadenti, eccessiva complessità o violazioni delle migliori pratiche di progettazione.
Personalità Distinte
Da questo mix di punti di forza e debolezze, Sonar ha identificato chiari profili di “personalità”.
Claude Sonnet 4 ha guadagnato il titolo di “L’Architetto Senior”. Scrive il codice più verboso – 370.816 righe nell’insieme di test – con alta complessità cognitiva, il che significa che i suoi percorsi logici sono più difficili da seguire. Si esegue bene ma è propenso a bug sofisticati come perdite di risorse e errori di concorrenza, che possono verificarsi quando più thread o processi interagiscono in modi non intesi.
OpenCoder-8B era “Il Prototipista Rapido”, producendo codice breve e focalizzato – 120.288 righe totali – ma con la più alta densità di problemi. La sua velocità e brevità lo rendono adatto per prove di concetto, ma pericoloso per la produzione senza una revisione attenta.
Llama 3.2 90B era “La Promessa Non Mantenuta”. Ha conseguito risultati moderati ma ha avuto la peggiore postura di sicurezza, con oltre il 70% delle vulnerabilità classificate come a livello di blocco.
GPT-4o era “L’Efficiente Generalista”, bilanciando funzionalità e complessità ma spesso inciampando in errori di controllo del flusso – errori nella sequenza logica delle operazioni che possono portare a risultati errati o codice saltato.
Claude 3.7 Sonnet era “Il Predecessore Bilanciato”, producendo codice meno verboso rispetto al suo successore ma con la più alta densità di commenti al 16,4%, il che significa che spiega la sua logica più di qualsiasi altro modello. Sebbene sia migliore nella documentazione, porta ancora gravi vulnerabilità a livello di blocco.
Una delle scoperte più sorprendenti è emersa dal confronto tra Claude Sonnet 4 e Claude 3.7. Sebbene Sonnet 4 abbia migliorato il suo tasso di passaggio del 6,3%, la percentuale dei suoi bug classificati come a livello di blocco è quasi raddoppiata, dal 7,10% al 13,71%. Le vulnerabilità a livello di blocco sono anche aumentate dal 56,03% al 59,57%. La lezione: i miglioramenti delle prestazioni possono avvenire a scapito della sicurezza.
Conclusione
Il rapporto Le Personalità di Codifica dei Principali LLM – Un Rapporto State of Code di Sonar rende chiaro che l’accuratezza dei benchmark racconta solo una parte della storia. Comprendere i rischi di sicurezza, la manutenibilità e lo stile di codifica è altrettanto importante quanto sapere quante volte un modello “ce la fa”.
Ogni personalità – sia essa architetto, prototipista, generalista o predecessore bilanciato – ha punti di forza e compromessi. La morale per gli sviluppatori e le organizzazioni è di “fidarsi ma verificare”, accoppiando l’assistenza di codifica AI con la supervisione umana, la revisione del codice approfondita e i controlli di sicurezza rigorosi per assicurarsi che la velocità e la comodità non compromettano la sicurezza o la stabilità a lungo termine.












