English

Enhancing Function Name Prediction using Votes-Based Name Tokenization and Multi-Task Learning

Software Engineering 2024-05-16 v1

Abstract

Reverse engineers would acquire valuable insights from descriptive function names, which are absent in publicly released binaries. Recent advances in binary function name prediction using data-driven machine learning show promise. However, existing approaches encounter difficulties in capturing function semantics in diverse optimized binaries and fail to reserve the meaning of labels in function names. We propose Epitome, a framework that enhances function name prediction using votes-based name tokenization and multi-task learning, specifically tailored for different compilation optimization binaries. Epitome learns comprehensive function semantics by pre-trained assembly language model and graph neural network, incorporating function semantics similarity prediction task, to maximize the similarity of function semantics in the context of different compilation optimization levels. In addition, we present two data preprocessing methods to improve the comprehensibility of function names. We evaluate the performance of Epitome using 2,597,346 functions extracted from binaries compiled with 5 optimizations (O0-Os) for 4 architectures (x64, x86, ARM, and MIPS). Epitome outperforms the state-of-the-art function name prediction tool by up to 44.34%, 64.16%, and 54.44% in precision, recall, and F1 score, while also exhibiting superior generalizability.

Keywords

Cite

@article{arxiv.2405.09112,
  title  = {Enhancing Function Name Prediction using Votes-Based Name Tokenization and Multi-Task Learning},
  author = {Xiaoling Zhang and Zhengzi Xu and Shouguo Yang and Zhi Li and Zhiqiang Shi and Limin Sun},
  journal= {arXiv preprint arXiv:2405.09112},
  year   = {2024}
}

Comments

24 pages, 10 figures, ACM ESEC/FSE 2024

R2 v1 2026-06-28T16:27:48.312Z