A Deep Dive into Function Inlining and its Security Implications for ML-based Binary Analysis
Not on the map. Why?
Abstract (arXiv)
A function inlining optimization is a widely used transformation in modern compilers, which replaces a call site with the callee's body in need. While this transformation improves performance, it significantly impacts static features such as machine instructions and control flow graphs, which are crucial to binary analysis. Yet, despite its broad impact, the security impact of function inlining remains underexplored to date. In this paper, we present the first comprehensive study of function inlining through the lens of machine learning-based binary analysis. To this end, we dissect the inlining decision pipeline within the LLVM's cost model and explore the combinations of the compiler options that aggressively promote the function inlining ratio beyond standard optimization levels, which we term extreme inlining. We focus on five ML-assisted binary analysis tasks for security, using 20 unique models to systematically evaluate their robustness under extreme inlining scenarios. Our extensive experiments reveal several significant findings: i) function inlining, though a benign transformation in intent, can (in)directly affect ML model behaviors, being potentially exploited by evading discriminative or generative ML models; ii) ML models relying on static features can be highly sensitive to inlining; iii) subtle compiler settings can be leveraged to deliberately craft evasive binary variants; and iv) inlining ratios vary substantially across applications and build configurations, undermining assumptions of consistency in training and evaluation of ML models.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). Builds on 16 of its 104 references that are in the map. First posted on arXiv 16 Dec 2025.
Builds on
16 of 104 references.
References · 16
- 2017A Unified Approach to Interpreting Model Predictionscited by 6,555
- 2017Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detectioncited by 65
- 2022jTrans: Jump-Aware Transformer for Binary Code Similaritycited by 44
- 2020Trex: Learning Execution Semantics from Micro-Traces for Binary Similaritycited by 34
- 2018SAFE: Self-Attentive Function Embeddings for Binary Similaritycited by 33
- 2018Neural Machine Translation Inspired Binary Code Similarity Comparison beyond Function Pairscited by 25
- 2021Augmenting Decompiler Output with Learned Variable Names and Typescited by 23
- 2020XDA: Accurate, Robust Disassembly with Transfer Learningcited by 21
- 2019Towards Neural Decompilationcited by 15
- 2020Revisiting Binary Code Similarity Analysis using Interpretable Feature Engineering and Lessons Learnedcited by 14
- 2023FINER: Enhancing State-of-the-art Classifiers with Feature Attribution to Facilitate Security Analysiscited by 12
- 2021Learning to Find Usages of Library Functions in Optimized Binariescited by 5
4 more
- 2021Unleashing the Hidden Power of Compiler Optimization on Binary Code Difference: An Empirical Studycited by 4
- 2024Cross-Inlining Binary Function Similarity Detectioncited by 4
- 20211-to-1 or 1-to-n? Investigating the effect of function inlining on binary similarity analysiscited by 3
- 2022The Inconvenient Truths of Ground Truth for Binary Analysiscited by 1
Built on by
Citing papers per year: 2026: 1.
1 paper.
- 2026SoK: AI-Augmented Binary Reversingcited by 0
- 2026SoK: AI-Augmented Binary Reversing16 Jun 2026