logo SBA

ETD

Archivio digitale delle tesi discusse presso l’Università di Pisa

Tesi etd-09072022-113934


Tipo di tesi
Tesi di laurea magistrale
Autore
BERTOLACCINI, FRANCESCO
URN
etd-09072022-113934
Titolo
Improving the quality of Rellic-decompiled source code
Dipartimento
INFORMATICA
Corso di studi
INFORMATICA
Relatori
relatore Prof. Ferrari, Gian Luigi
tutor Goodman, Peter
Parole chiave
  • analysis
  • decompilation
  • decompiler
  • llvm
  • rellic
  • software
Data inizio appello
07/10/2022
Consultabilità
Completa
Riassunto
In this thesis we present improvements and additions made to Rellic during an internship at Trail of Bits. Rellic is an LLVM-to-C decompiler which aims at producing goto-free code using an approach based on analyzing the reaching conditions of the nodes in the Control-Flow Graph of the program to decompile.
The goal of the internship was to make sure that Rellic produces code that is as close to human-produced source code as possible, while special attention was paid to the generation of provenance information – metadata on how the decompiled code relates to the original LLVM instructions – and to the correctness of the generated code.
The result is that Rellic is now able to decompile most LLVM bitcode into C source code that can be re-compiled into working programs with little outside intervention, and can be understood more easily by most programmers than the raw LLVM bitcode.
File