On the Origins of Indirect Jumps in Embedded Software


Indirect control-flow transfers complicate control-flow graph (CFG) construction, thereby reducing the precision of static analyses and control-flow integrity mechanisms in embedded systems.
While previous work has primarily focused on resolving indirect jump targets, comparatively little attention has been devoted to understanding the reasons behind their generation.
This paper presents a systematic empirical study of the origins of indirect jumps in compiled binaries.
We introduce a taxonomy that characterizes the programming constructs and compiler transformations responsible for their generation.
Our analysis encompasses C, C++, Fortran, and Rust programs compiled with GCC and LLVM at multiple optimization levels, targeting the 32-bit RISC-V instruction set.
We then quantify the prevalence of each identified category over representative benchmarks and analyze differences across programming languages and compilation configurations.
By clarifying the origins of indirect control transfers, this work provides insight into their impact on CFG precision and the static analysis of embedded software.
Tue 16 JunDisplayed time zone: Mountain Time (US & Canada) change
15:50 - 17:00 | Session 5: Memory Efficiency and Control-Flow AnalysisLCTES at Flatirons 3 Chair(s): Sandrine Blazy University of Rennes | ||
15:50 22mTalk | MemSpec: Memory-Aware Runtime for Adaptive Draft Scheduling in Speculative Decoding on Edge Devices LCTES Eunjeong Kim Kyungpook National University, Yeong Jun Jeon Kyungpook National University, Myeonggyun Han Kyungpook National University DOI | ||
16:12 22mTalk | Bridging the Memory Hotness Gap in Edge Systems with Hotness-Segregated Object Allocation LCTES Ruizhe Huang Peking University, Jiahua Wang Peking University, Qihang Xu Peking University, Peng Jiang Southeast University, Zhida An Peking University, Ding Li Peking University, Yao Guo Peking University, Xiangqun Chen Peking University, Yuxin Ren Huawei Technologies, Ning Jia Huawei Technologies DOI | ||
16:34 22mTalk | On the Origins of Indirect Jumps in Embedded Software LCTES Ariane Nicolas Univ Rennes, Inria, CNRS, IRISA, Ronan Lashermes Rambus, Isabelle Puaut Université de Rennes - Inria - CNRS - IRISA, Erven Rohou Université de Rennes - Inria - CNRS - IRISA DOI | ||
16:56 4mTalk | Closing Session LCTES Jeronimo Castrillon TU Dresden, Germany | ||