Saved in:
Bibliographic Details
Main Authors: Maier, Alwin, Weissberg, Felix, Rieck, Konrad
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2502.08682
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929712951984128
author Maier, Alwin
Weissberg, Felix
Rieck, Konrad
author_facet Maier, Alwin
Weissberg, Felix
Rieck, Konrad
contents Deep learning has enabled remarkable progress in binary code analysis. In particular, pre-trained embeddings of assembly code have become a gold standard for solving analysis tasks, such as measuring code similarity or recognizing functions. These embeddings are capable of learning a vector representation from unlabeled code. In contrast to natural language processing, however, label information is not scarce for many tasks in binary code analysis. For example, labeled training data for function boundaries, optimization levels, and argument types can be easily derived from debug information provided by a compiler. Consequently, the main motivation of embeddings does not transfer directly to binary code analysis. In this paper, we explore the role of pre-trained embeddings from a critical perspective. To this end, we systematically evaluate recent embeddings for assembly code on five downstream tasks using a corpus of 1.2 million functions from the Debian distribution. We observe that several embeddings perform similarly when sufficient labeled data is available, and that differences reported in prior work are hardly noticeable. Surprisingly, we find that end-to-end learning without pre-training performs best on average, which calls into question the need for specialized embeddings. By varying the amount of labeled data, we eventually derive guidelines for when embeddings offer advantages and when end-to-end learning is preferable for binary code analysis.
format Preprint
id arxiv_https___arxiv_org_abs_2502_08682
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle On the Role of Pre-trained Embeddings in Binary Code Analysis
Maier, Alwin
Weissberg, Felix
Rieck, Konrad
Machine Learning
Artificial Intelligence
I.2.6
Deep learning has enabled remarkable progress in binary code analysis. In particular, pre-trained embeddings of assembly code have become a gold standard for solving analysis tasks, such as measuring code similarity or recognizing functions. These embeddings are capable of learning a vector representation from unlabeled code. In contrast to natural language processing, however, label information is not scarce for many tasks in binary code analysis. For example, labeled training data for function boundaries, optimization levels, and argument types can be easily derived from debug information provided by a compiler. Consequently, the main motivation of embeddings does not transfer directly to binary code analysis. In this paper, we explore the role of pre-trained embeddings from a critical perspective. To this end, we systematically evaluate recent embeddings for assembly code on five downstream tasks using a corpus of 1.2 million functions from the Debian distribution. We observe that several embeddings perform similarly when sufficient labeled data is available, and that differences reported in prior work are hardly noticeable. Surprisingly, we find that end-to-end learning without pre-training performs best on average, which calls into question the need for specialized embeddings. By varying the amount of labeled data, we eventually derive guidelines for when embeddings offer advantages and when end-to-end learning is preferable for binary code analysis.
title On the Role of Pre-trained Embeddings in Binary Code Analysis
topic Machine Learning
Artificial Intelligence
I.2.6
url https://arxiv.org/abs/2502.08682