Università di Genova logo, link al sitoUniRe logo, link alla pagina iniziale
    • English
    • italiano
  • English 
    • English
    • italiano
  • Login
View Item 
  •   DSpace Home
  • Tesi
  • Tesi di Laurea
  • Laurea Magistrale
  • View Item
  •   DSpace Home
  • Tesi
  • Tesi di Laurea
  • Laurea Magistrale
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Valutazione del codice C++ generato tramite RAG per applicazioni industriali

View/Open
tesi38147451.pdf (1.531Mb)
Author
Mohammadi, Fatemeh <1992>
Date
2026-10-14
Data available
2026-10-22
Abstract
I modelli linguistici di grandi dimensioni (LLM) possono supportare lo sviluppo software rispondendo a domande tecniche su basi di codice complesse e assistendo nelle modifiche al codice. Tuttavia, i requisiti di riservatezza industriale richiedono spesso l'utilizzo di assistenti distribuiti localmente. Anche la valutazione delle loro capacità di modifica del codice presenta delle difficoltà, poiché verificare le modifiche generate tramite compilazione ed esecuzione di test può essere costoso o impraticabile nei complessi progetti industriali. Questa tesi presenta quattro contributi: un assistente offline basato sulla generazione aumentata dal recupero delle informazioni (Retrieval-Augmented Generation, RAG) per lo sviluppo C++ presso ABB, che fornisce a un LLM eseguito localmente il codice del progetto e gli estratti di uno standard di telecontrollo recuperati tramite BM25; un benchmark composto da 20 attività di modifica del codice con soluzioni di riferimento; un metodo di valutazione che combina la similarità delle modifiche, il punteggio F1 sui token, una baseline che non apporta modifiche e una misura delle modifiche collaterali, ovvero quelle apportate al di fuori dell'intervento richiesto; e una valutazione di cinque LLM locali. Tutti e cinque i modelli avvicinano il codice alla soluzione di riferimento, colmando dal 44% al 60% della distanza rispetto al codice originale non modificato. I tre modelli più grandi ottengono risultati simili (similarità delle modifiche pari a 0,900–0,902), mentre il modello più piccolo raggiunge 0,866. Nelle 60 risposte relative al ripristino di funzioni, si verificano modifiche collaterali in 7 casi. Sebbene limitato a 20 attività e a una sola libreria sostitutiva, l'approccio consente di confrontare e selezionare i modelli senza ricorrere alla compilazione o a suite di test e permette di individuare le modifiche che esulano dall'intervento richiesto. Tuttavia, la similarità con le soluzioni di riferimento non dimostra la co
 
Large language models (LLMs) can support software development by answering technical questions about complex codebases and assisting with code modifications. However, industrial confidentiality often requires locally deployed assistants. Evaluating their codeediting capabilities is also challenging, as verifying generated modifications through compilation and testing can be costly or impractical in complex industrial projects. This thesis makes four contributions: an offline retrieval-augmented assistant for C++ development at ABB, which gives a locally served LLM the project code and excerpts of a telecontrol standard retrieved with BM25; a benchmark of 20 editing tasks with reference solutions; an evaluation method combining edit similarity, token F1, a do-nothing baseline, and a measure of collateral change, the changes outside the requested edit; and an evaluation of five local LLMs. All five models bring the code closer to the reference, closing 44%–60% of the gap relative to unchanged code. The three larger models perform similarly (edit similarity 0.900–0.902), while the smallest reaches 0.866. Collateral change occurs in 7 of 60 function-restoration responses. Although limited to 20 tasks and one stand-in library, the approach enables model screening without builds or test suites and identifies modifications outside the requested edit. However, similarity to reference solutions does not establish functional correctness
 
Type
info:eu-repo/semantics/masterThesis
Collections
  • Laurea Magistrale [8404]
URI
https://unire.unige.it/handle/123456789/17527
Metadata
Show full item record

UniRe - Università degli studi di Genova | Information and Contacts
 

 

All of DSpaceCommunities & Collections

My Account

Login

UniRe - Università degli studi di Genova | Information and Contacts