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

Utilizzo di LLM per classificare le varianti del codice decompilato

Thumbnail
Mostra/Apri
tesi37253902.pdf (7.371Mb)
Autore
Timossi, Luigi <2000>
Data
2026-03-27
Disponibile dal
2026-04-02
Abstract
Utilizziamo modelli linguistici di grandi dimensioni (LLM) per valutare e classificare le varianti del codice decompilato al fine di affrontare la sfida intrinsecamente soggettiva di valutare la qualità dell'output del decompilatore e la “somiglianza con l'umano”. Confrontiamo due approcci principali: l'utilizzo di metriche statistiche (perplexity e total loss) e l'impiego di LLM come giudici qualitativi (LLM-as-a-Judge). Valutiamo due modelli open weight, qwen-3 e deepseek-r1, su un set di dati di progetti C reali decompilati con Ghidra (confrontando diversi commit e Pull Request) e altri decompilatori. I nostri risultati rivelano che la perplexity è un indicatore inadeguato della human-likeness, poiché il codice umano presenta naturalmente un'entropia più elevata rispetto al boilerplate rigido e altamente ripetitivo generato dai decompilatori. Dimostriamo che la total loss è una metrica quantitativa superiore, perché accumula errori di previsione su tutti i token, penalizzando la verbosità altamente predittiva dei decompilatori. Mostriamo che l'astrazione del codice in Abstract Syntax Trees (AST) mitiga i pregiudizi lessicali specifici dei decompilatori. Parallelamente, l'approccio qualitativo LLM-as-a-Judge mostra risultati molto promettenti, con deepseek-r1 che raggiunge un allineamento del ∼74% con il consenso umano. Tuttavia, identifichiamo anche vulnerabilità critiche nei LLM, come l' iperfissazione lessicale e le allucinazioni. Questo lavoro stabilisce una linea di base per la valutazione automatizzata dei decompilatori ed evidenzia sia il potenziale che i limiti dell'utilizzo degli LLM nei flussi di lavoro di reverse engineering.
 
We use large language models (LLMs) to evaluate and rank decompiled code variants to address the inherently subjective challenge of assessing decompiler output quality and “human-likeness”. We compare two main approaches: using statistical metrics (perplex- ity and Total Loss) and employing LLMs as qualitative judges (LLM-as-a-Judge). We evaluate two open-weight models, qwen-3 and deepseek-r1, on a dataset of real-world C projects decompiled with Ghidra (comparing different commits and Pull Requests) and other decompilers. Our findings reveal that perplexity is a poor proxy for human-likeness, as human code nat- urally exhibits higher entropy compared to the rigid, highly repetitive boilerplate generated by decompilers. We demonstrate that Total Loss is a superior quantitative metric, because it accumulates prediction errors across all tokens, penalizing the highly predictive ver- bosity of decompilers. We show that abstracting code into Abstract Syntax Trees (ASTs) mitigates decompiler-specific lexical biases. In parallel, the qualitative LLM-as-a-Judge approach shows significant promise, with deepseek-r1 achieving an alignment of ∼74% with human consensus. However, we also identify critical vulnerabilities in LLMs, such as lexical hyper-fixation and hallucinations. This work establishes a baseline for automated decompiler evaluation and highlights both the potential and the limitations of using LLMs in reverse engineering workflows.
 
Tipo
info:eu-repo/semantics/masterThesis
Collezioni
  • Laurea Magistrale [7402]
URI
https://unire.unige.it/handle/123456789/15535
Metadati
Mostra tutti i dati dell'item

UniRe - Università degli studi di Genova | Informazioni e Supporto
 

 

UniReArchivi & Collezioni

Area personale

Login

UniRe - Università degli studi di Genova | Informazioni e Supporto