Enhancing Function Name Prediction using Votes-Based Name Tokenization and Multi-Task Learning
<|reference_start|>Enhancing Function Name Prediction using Votes-Based Name Tokenization and Multi-Task Learning: 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.<|reference_end|>
@article{zhang2024enhancing,
    title={Enhancing Function Name Prediction using Votes-Based Name Tokenization
  and Multi-Task Learning},
    author={Xiaoling Zhang, Zhengzi Xu, Shouguo Yang, Zhi Li, Zhiqiang Shi, Limin
  Sun},
    journal={Proc. ACM Softw. Eng. 1,FSE, Article 75 (July 2024), 24 pages},
    year={2024},
    doi={10.1145/3660782},
    archivePrefix={arXiv},
    eprint={2405.09112},
    primaryClass={cs.SE}
}