Ricerca
CodeGraph: grafo della conoscenza a tassonomia aperta per il codice sorgente con ancoraggio a Wikidata
Gli archivi pubblici di software, come GitHub e Software Heritage Archive, conservano miliardi di file. Estrarne le conoscenze implicite di ingegneria del software — cioè gli algoritmi che implementan

- arXiv
- 2609.29474
- Pubblicato
- 2026-09-24
- Autori
- Federico Pennino, Andrea Gurioli, Stefano Zacchiroli, Maurizio Gabbrielli, Paolo Ferragina
Abstract degli autori
Gli archivi pubblici di software, come GitHub e Software Heritage Archive, conservano miliardi di file. Estrarne le conoscenze implicite di ingegneria del software — cioè gli algoritmi che implementano, i paradigmi che seguono, i pattern che concretizzano e gli ambiti applicativi a cui si rivolgono — resta però difficile, perché gli strumenti attuali si limitano all’analisi sintattica e a livello di token. Presentiamo una pipeline che usa un modello linguistico di grandi dimensioni specializzato nel codice per produrre annotazioni semantiche del codice sorgente basate su una tassonomia aperta. Le entità estratte vengono ancorate a Wikidata mediante una procedura in tre fasi: una fase SPARQL deterministica gestisce le entità non ambigue, un Deep Research Agent risolve i casi residui della coda lunga e una fase di risalita della gerarchia importa la chiusura della relazione «genitore di» per ciascun identificatore Wikidata risolto. Le annotazioni risultanti vengono organizzate in un grafo della conoscenza a tassonomia aperta specifico per il codice sorgente. Introduciamo inoltre un protocollo calibrato di controllo della qualità che quantifica la precisione delle annotazioni combinando un piccolo gold set umano con un filtro che impiega un LLM come giudice. Abbiamo applicato la pipeline ai 167 milioni di file del corpus Stack-Edu, creando il primo grafo della conoscenza a tassonomia aperta su larga scala per il codice sorgente di cui si abbia notizia. Il nostro grafo, chiamato CodeGraph, contiene circa 158 milioni di nodi, tra cui circa 145 milioni di file, circa 63.000 entità concettuali estratte (come algoritmi, paradigmi, design pattern e ambiti applicativi) e circa 19.800 entità ancorate a Wikidata. CodeGraph comprende inoltre circa 1 miliardo di archi tipizzati che collegano i file ai rispettivi concetti, associano questi concetti ai relativi identificatori Wikidata e li mettono in relazione con le rispettive categorie sovraordinate, coprendo 14 linguaggi di programmazione.
Il riassunto di questo paper è disponibile solo in inglese: leggilo nella pagina inglese.
Leggi il paper originale su arXiv