← Ultimi articoli
💻 computer science

Predicting Program Comprehension with Foundation Models of Human Cognition

Questo articolo dimostra che Centaur, un modello di fondazione della cognizione umana addestrato su dati psicologici generali, supera il suo modello base Llama 3.1 nella previsione del comportamento degli sviluppatori durante la comprensione del programma, suggerendo che le regolarità cognitive apprese da ampi esperimenti psicologici possano trasferirsi efficacemente in compiti complessi di ingegneria del software.

Autori originali: Yannick Lehmen, Marvin Wyrich, Anna-Maria Maurer, Norman Peitek, Marvin Wyrich

Pubblicato 2026-07-14
📖 5 min di lettura🧠 Approfondimento

Autori originali: Yannick Lehmen, Marvin Wyrich, Anna-Maria Maurer, Norman Peitek, Marvin Wyrich

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di cercare di indovinare cosa dirà un tuo amico durante una conversazione. Potresti provare a memorizzare ogni singola conversazione che ha mai avuto, oppure potresti cercare di comprendere le regole generali del modo in cui gli esseri umani pensano, parlano e reagiscono. Per decenni, i ricercatori che cercavano di prevedere come gli sviluppatori di software comprendano il codice sono rimasti bloccati nel primo caso: hanno costruito modelli minuscoli e specifici per compiti specifici, o hanno cercato di misurare la "complessità" del codice come quando si conta il numero di virgole in una frase. Ma questi metodi sono come cercare di prevedere un intero film guardando solo il colore delle scarpe degli attori: o non riescono a scalare o semplicemente non corrispondono bene alla realtà.

Entra in scena una nuova idea dal mondo della psicologia. Invece di costruire un modello dedicato solo alla programmazione, e se addestrassimo un modello su come gli esseri umani si comportano in tutti i tipi di situazioni? È esattamente ciò che hanno fatto i ricercatori in questo articolo. Hanno preso un'IA super intelligente chiamata Centaur, che era stata addestrata su dati provenienti da 160 diversi esperimenti psicologici (come giochi di memoria o puzzle decisionali), e hanno posto una grande domanda: può questo "simulatore del cervello umano generale" capire come i programmatori leggono il codice, anche se non ha mai visto una riga di codice durante il suo addestramento?

La Grande Scoperta
La risposta, suggerisce l'articolo, è un convinto "sì". Quando hanno testato Centaur contro 9 diversi studi che coinvolgevano veri sviluppatori impegnati nella lettura di codice, Centaur ha previsto la risposta umana molto meglio del suo modello "genitore", Llama 3.1, che non era stato addestrato su quegli esperimenti psicologici. Infatti, in tutti i tentativi, le previsioni di Centaur erano significativamente più vicine al comportamento umano. Pensatela così: Llama 3.1 è uno studente brillante che conosce molti fatti ma non ha imparato come pensano davvero le persone. Centaur è lo stesso studente, ma dopo aver frequentato un semestre di "Comportamento Umano 101", improvvisamente capisce come le persone reagiscono, anche in un soggetto totalmente nuovo come la programmazione.

Cosa NON è
Ecco la parte più importante: l'articolo esclude esplicitamente alcune cose.

  1. Non si tratta solo di indovinare la risposta. I ricercatori temevano che Centaur potesse essere bravo solo a indovinare risposte comuni (come "Sì" o "No") perché le aveva viste spesso durante l'addestramento. Ma hanno dimostrato il contrario. Quando hanno rimosso il codice e le istruzioni del compito, Centaur non si è limitato a fare affidamento sui "bias di risposta". È diventato effettivamente più bravo a usare il codice stesso e le descrizioni del compito per capire la risposta.
  2. Non è una bacchetta magica. L'articolo specifica con cura che questa è un "suggerimento" e un "trasferimento" di schemi, non una teoria definitiva e risolta della mente umana. Hanno scoperto che per alcuni schemi di codice complicati e confusionari (chiamati "Atomi di Confusione"), Centaur non era così bravo quanto Llama. Ciò suggerisce che, sebbene il pensiero umano generale aiuti, esistono ancora alcune peculiarità di programmazione molto specifiche che il modello non ha ancora appreso.

Come lo hanno testato
Per esserne certi, i ricercatori hanno giocato a un gioco di "sottrazione". Hanno fornito ai modelli lo stesso codice e le stesse domande, ma rimuovendo diverse parti di informazione:

  • Il Codice: Gli effettivi frammenti di programmazione.
  • Le Istruzioni: Il testo che spiega cosa fare.
  • La Cronologia: Ciò che il programmatore aveva fatto nelle domande precedenti.

Hanno scoperto che Centaur faceva meno affidamento sulla cronologia delle risposte precedenti (che Llama amava usare) e più sul codice e sulle istruzioni reali. Questo è un indizio enorme: significa che Centaur ha imparato un modo più profondo di comprendere il compito, piuttosto che limitarsi a seguire un pattern del tipo "cosa ho detto l'ultima volta?".

I Numeri
I risultati sono stati misurati utilizzando un punteggio chiamato "log-likelihood negativa", dove un valore più basso è migliore. In tutti gli studi, Centaur ha ottenuto un punteggio medio di 1,63, mentre Llama 3.1 ha ottenuto 1,85. In 7 degli 9 studi analizzati, Centaur è stato significativamente migliore. La differenza non è stata un piccolo caso fortuito; l' "effetto dimensione" statistica è stato di 0,17, un valore che l'articolo nota essere un miglioramento reale e misurabile.

Il Messaggio Chiave
Questo articolo non sostiene di aver risolto il mistero di come pensano i programmatori. Al contrario, suggerisce una nuova, potente strada da seguire. Dimostra che il modo in cui gli esseri umani comprendono il codice non è un potere speciale e isolato; è costruito sulle stesse regole cognitive generali che ci aiutano a giocare a giochi di memoria o a prendere decisioni in altre parti della vita. Addestrando l'IA sul comportamento umano generale, potremmo finalmente ottenere uno strumento in grado di prevedere come i programmatori faranno fatica con il codice, non solo contando le righe, ma comprendendo la mente umana dietro la tastiera. È un passo verso un futuro in cui potremo costruire strumenti software che siano veramente "consapevoli dell'uomo", basati sulla scienza di come pensiamo realmente.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →