I modelli linguistici di grandi dimensioni, LLM, replicano i bug nel codice invece di correggerli | Large language models examples | Large language models cosa sono | Come impostare chat gpt in italiano | Turtles AI

I modelli linguistici di grandi dimensioni, LLM, replicano i bug nel codice invece di correggerli
 Gli LLM spesso replicano errori presenti nei dati di addestramento, riducendo l’affidabilità nel completamento del codice
Editorial Team19 marzo 2025

 

Gli LLM mostrano difficoltà nel completamento del codice contenente bug, spesso replicando errori presenti nei dati di addestramento. La loro precisione diminuisce in questi scenari, evidenziando la necessità di miglioramenti nei modelli, nella post-elaborazione e nell’integrazione con strumenti di sviluppo.

Punti chiave:

  • Replicazione degli errori: Gli LLM tendono a ripetere bug storici presenti nei loro dati di addestramento.
  • Precisione ridotta: La capacità degli LLM di generare codice corretto diminuisce significativamente in presenza di codice buggato.
  • Limitazioni nelle strutture complesse: Gli LLM mostrano difficoltà nel gestire costrutti come invocazioni di metodi e istruzioni di ritorno.
  • Efficacia limitata della post-elaborazione: Le tecniche attuali non riducono significativamente i tassi di errore in scenari soggetti a bug.

I modelli linguistici di grandi dimensioni (LLM) hanno modificato l’elaborazione del linguaggio naturale, mostrando notevoli capacità nel completamento del codice. Tuttavia, uno studio recente ha evidenziato una significativa limitazione: quando esposti a frammenti di codice contenenti bug, gli LLM tendono a replicare questi errori anziché correggerli. Questo comportamento è attribuibile alla presenza di codice difettoso nei dati di addestramento, che influenza negativamente le prestazioni dei modelli in scenari reali. Nell’ambito dello studio, sono stati valutati sette LLM, tra cui GPT-4, GPT-3.5, CodeLlama-13B-hf, Gemma-7B, StarCoder2-15B e CodeGEN-350M, utilizzando il dataset Defects4J. I risultati hanno mostrato che, in attività soggette a bug, la probabilità che gli LLM generino codice corretto è quasi equivalente a quella di generare codice buggato, con una precisione sostanzialmente inferiore rispetto alle normali attività di completamento del codice (ad esempio, 12,27% contro 29,85% per GPT-4). In media, ogni modello ha prodotto circa 151 completamenti corretti e 149 completamenti buggati, evidenziando la difficoltà nel gestire contesti soggetti a bug. Sorprendentemente, il 44,44% dei bug creati dagli LLM erano identici ai bug storici presenti nei dati di addestramento, con GPT-4o che ha raggiunto una percentuale dell’82,61%. Questo indica una tendenza degli LLM a memorizzare e riprodurre errori noti, piuttosto che innovare e generare codice privo di errori. Le strutture di codice più problematiche per gli LLM includono invocazioni di metodi e istruzioni di ritorno, mentre costrutti più semplici come le istruzioni "if" e le dichiarazioni di variabili risultano meno problematici. Inoltre, le tecniche di post-elaborazione esistenti, sebbene possano migliorare la coerenza del codice generato, non riducono significativamente i tassi di errore in scenari soggetti a bug. Questo sottolinea la necessità di sviluppare modelli con una migliore comprensione della sintassi e della semantica della programmazione, oltre a strategie di post-elaborazione più efficaci e una maggiore integrazione con strumenti di sviluppo come gli ambienti di sviluppo integrati (IDE).

 Nonostante i progressi degli LLM nel completamento del codice, permangono sfide significative nella gestione di codice soggetto a bug, evidenziando l’importanza di ulteriori ricerche e miglioramenti in questo campo.