Item

Calibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications

Liang, Zhanhao
Sun, Hanming
Shang, Wenhan
Yuan, Mengting
Fu, Jingqin
Ma, Jiang
Xue, Chun Jason
Li, Qing'an
Supervisor
Department
Computer Science
Embargo End Date
Type
Conference proceeding
Date
2025
License
Language
English
Collections
Research Projects
Organizational Units
Journal Issue
Abstract
Recent Android systems have employed pre-compilation technology to boost app launch speed and runtime performance. However, this generates large OAT files that over-consume scarce memory and storage resources in mobile devices. This paper conducts an evaluation of code redundancy in popular production android applications and observes that the code redundancy is up to 25%. To reduce the code size via redundancy elimination, this paper proposes Calibro, a compilation-assisted linking-time binary code outlining method. Calibro consists of two parts, the Compilation-Time code Outlining (CTO) and the Linking-Time Binary code Outlining (LTBO) with information collected at compilation- time. Additionally, a paralleled suffix tree method is proposed to reduce the building time overhead, and a hot function filtering method is proposed to effectively mitigate run-time performance degradation caused by code outlining. Experimental results show that compared to the baseline (the original AOSP version with all available code size optimization enabled), the proposed approach reduces code size in Android applications by more than 15.19% on average, with negligible runtime performance degradation and tolerable building time overhead. Hence the proposed code outlining approach is promising for production deployment.
Citation
Z. Liang et al., “Calibro: Compilation-Assisted Linking-Time Binary Code Outlining for Code Size Reduction in Android Applications,” Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization, pp. 150–162, Mar. 2025, doi: 10.1145/3696443.3708955.
Source
Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation, 2025
Conference
Keywords
Binary code size reduction, Compilation-assisted linking, Code outlining, Redundancy elimination, Calibro method?
Subjects
Source
Publisher
Association for Computing Machinery
Full-text link