BinBench: a benchmark for x64 portable operating system interface binary function representations
Author:
Console Francesca,D’Aquanno Giuseppe,Di Luna Giuseppe Antonio,Querzoni Leonardo
Abstract
In this article we propose the first multi-task benchmark for evaluating the performances of machine learning models that work on low level assembly functions. While the use of multi-task benchmark is a standard in the natural language processing (NLP) field, such practice is unknown in the field of assembly language processing. However, in the latest years there has been a strong push in the use of deep neural networks architectures borrowed from NLP to solve problems on assembly code. A first advantage of having a standard benchmark is the one of making different works comparable without effort of reproducing third part solutions. The second advantage is the one of being able to test the generality of a machine learning model on several tasks. For these reasons, we propose BinBench, a benchmark for binary function models. The benchmark includes various binary analysis tasks, as well as a dataset of binary functions on which tasks should be solved. The dataset is publicly available and it has been evaluated using baseline models.
Funder
TIM S.p.A. through the PhD Scholarship
SERICS
European Union—Next Generation EU
Subject
General Computer Science
Reference52 articles.
1. A survey of machine learning for big code and naturalness;Allamanis;ACM Computing Surveys,2018
2. SIGMA: a semantic integrated graph matching approach for identifying reused functions in binary code;Alrabaee;Digital Investigation,2015
3. In nomine function: naming functions in stripped binaries with neural networks;Artuso;ArXiv,2021
4. Neural machine translation by jointly learning to align and translate;Bahdanau,2015
5. Language models are few-shot learners;Brown,2020