Thesis etd-09072022-113934 |
Link copiato negli appunti
Thesis type
Tesi di laurea magistrale
Author
BERTOLACCINI, FRANCESCO
URN
etd-09072022-113934
Thesis title
Improving the quality of Rellic-decompiled source code
Department
INFORMATICA
Course of study
INFORMATICA
Supervisors
relatore Prof. Ferrari, Gian Luigi
tutor Goodman, Peter
tutor Goodman, Peter
Keywords
- analysis
- decompilation
- decompiler
- llvm
- rellic
- software
Graduation session start date
07/10/2022
Availability
Full
Summary
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.
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
Nome file | Dimensione |
---|---|
TesiBertolaccini.pdf | 1.15 Mb |
Contatta l’autore |