Fast, Fine-Grained Equivalence Checking for Neural Decompilers

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Dramko, Luke, Goues, Claire Le, Schwartz, Edward J.
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866915095583391744
author Dramko, Luke
Goues, Claire Le
Schwartz, Edward J.
author_facet Dramko, Luke
Goues, Claire Le
Schwartz, Edward J.
contents Neural decompilers are machine learning models that reconstruct the source code from an executable program. Critical to the lifecycle of any machine learning model is an evaluation of its effectiveness. However, existing techniques for evaluating neural decompilation models have substantial weaknesses, especially when it comes to showing the correctness of the neural decompiler's predictions. To address this, we introduce codealign, a novel instruction-level code equivalence technique designed for neural decompilers. We provide a formal definition of a relation between equivalent instructions, which we term an equivalence alignment. We show how codealign generates equivalence alignments, then evaluate codealign by comparing it with symbolic execution. Finally, we show how the information codealign provides-which parts of the functions are equivalent and how well the variable names match-is substantially more detailed than existing state-of-the-art evaluation metrics, which report unitless numbers measuring similarity.
format Preprint
id arxiv_https___arxiv_org_abs_2501_04811
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Fast, Fine-Grained Equivalence Checking for Neural Decompilers
Dramko, Luke
Goues, Claire Le
Schwartz, Edward J.
Machine Learning
Cryptography and Security
Software Engineering
Neural decompilers are machine learning models that reconstruct the source code from an executable program. Critical to the lifecycle of any machine learning model is an evaluation of its effectiveness. However, existing techniques for evaluating neural decompilation models have substantial weaknesses, especially when it comes to showing the correctness of the neural decompiler's predictions. To address this, we introduce codealign, a novel instruction-level code equivalence technique designed for neural decompilers. We provide a formal definition of a relation between equivalent instructions, which we term an equivalence alignment. We show how codealign generates equivalence alignments, then evaluate codealign by comparing it with symbolic execution. Finally, we show how the information codealign provides-which parts of the functions are equivalent and how well the variable names match-is substantially more detailed than existing state-of-the-art evaluation metrics, which report unitless numbers measuring similarity.
title Fast, Fine-Grained Equivalence Checking for Neural Decompilers
topic Machine Learning
Cryptography and Security
Software Engineering
url https://arxiv.org/abs/2501.04811