Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries

Research output: Contribution to journalArticleResearchpeer review

Authors

  • Andreas Ziegler
  • Julian Geus
  • Bernhard Heinloth
  • Timo Hönig
  • Daniel Lohmann

External Research Organisations

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
View graph of relations

Details

Original languageEnglish
Article number102
Pages (from-to)1-23
JournalACM Transactions on Embedded Computing Systems
Volume18
Issue number5s
Publication statusPublished - 8 Oct 2019

Abstract

In the embedded domain, industrial sectors (i.e., automotive industry, avionics) are undergoing radical changes. They broadly adopt commodity hardware and move away from special-purpose control units. During this transition, heterogeneous software components are consolidated to run on commodity operating systems. To efficiently consolidate such components, a modular encapsulation of common functionality into reusable binary files (i.e., shared libraries) is essential. However, shared libraries are often unnecessarily large as they entail a lot of generic functionality that is not required in a narrowly defined scenario. As the source code of proprietary components is often unavailable and the industry is heading towards binary-only distribution, we propose an approach towards lightweight binary tailoring. As demonstrated in the evaluation, lightweight binary tailoring effectively reduces the amount of code in all shared libraries on a Linux-based system by 63 percent and shrinks their files by 17 percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.

Keywords

    Binary tailoring, Linux, Shared libraries

ASJC Scopus subject areas

Cite this

Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries. / Ziegler, Andreas; Geus, Julian; Heinloth, Bernhard et al.
In: ACM Transactions on Embedded Computing Systems, Vol. 18, No. 5s, 102, 08.10.2019, p. 1-23.

Research output: Contribution to journalArticleResearchpeer review

Ziegler, A, Geus, J, Heinloth, B, Hönig, T & Lohmann, D 2019, 'Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries', ACM Transactions on Embedded Computing Systems, vol. 18, no. 5s, 102, pp. 1-23. https://doi.org/10.1145/3358222
Ziegler, A., Geus, J., Heinloth, B., Hönig, T., & Lohmann, D. (2019). Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries. ACM Transactions on Embedded Computing Systems, 18(5s), 1-23. Article 102. https://doi.org/10.1145/3358222
Ziegler A, Geus J, Heinloth B, Hönig T, Lohmann D. Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries. ACM Transactions on Embedded Computing Systems. 2019 Oct 8;18(5s):1-23. 102. doi: 10.1145/3358222
Ziegler, Andreas ; Geus, Julian ; Heinloth, Bernhard et al. / Honey, I Shrunk the ELFs : Lightweight binary tailoring of shared libraries. In: ACM Transactions on Embedded Computing Systems. 2019 ; Vol. 18, No. 5s. pp. 1-23.
Download
@article{822c239429f545c89a3a124b6760942b,
title = "Honey, I Shrunk the ELFs: Lightweight binary tailoring of shared libraries",
abstract = "In the embedded domain, industrial sectors (i.e., automotive industry, avionics) are undergoing radical changes. They broadly adopt commodity hardware and move away from special-purpose control units. During this transition, heterogeneous software components are consolidated to run on commodity operating systems. To efficiently consolidate such components, a modular encapsulation of common functionality into reusable binary files (i.e., shared libraries) is essential. However, shared libraries are often unnecessarily large as they entail a lot of generic functionality that is not required in a narrowly defined scenario. As the source code of proprietary components is often unavailable and the industry is heading towards binary-only distribution, we propose an approach towards lightweight binary tailoring. As demonstrated in the evaluation, lightweight binary tailoring effectively reduces the amount of code in all shared libraries on a Linux-based system by 63 percent and shrinks their files by 17 percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.",
keywords = "Binary tailoring, Linux, Shared libraries",
author = "Andreas Ziegler and Julian Geus and Bernhard Heinloth and Timo H{\"o}nig and Daniel Lohmann",
note = "Funding Information: We thank our anonymous reviewers for their detailed and helpful feedback. This work was partially supported by the German Research Foundation (DFG) under grant no. LO 1719/3-1 ({"}CADOS{"}) and project no. 146371743 (TRR 89 {"}Invasive Computing{"}).",
year = "2019",
month = oct,
day = "8",
doi = "10.1145/3358222",
language = "English",
volume = "18",
pages = "1--23",
journal = "ACM Transactions on Embedded Computing Systems",
issn = "1539-9087",
publisher = "Association for Computing Machinery (ACM)",
number = "5s",

}

Download

TY - JOUR

T1 - Honey, I Shrunk the ELFs

T2 - Lightweight binary tailoring of shared libraries

AU - Ziegler, Andreas

AU - Geus, Julian

AU - Heinloth, Bernhard

AU - Hönig, Timo

AU - Lohmann, Daniel

N1 - Funding Information: We thank our anonymous reviewers for their detailed and helpful feedback. This work was partially supported by the German Research Foundation (DFG) under grant no. LO 1719/3-1 ("CADOS") and project no. 146371743 (TRR 89 "Invasive Computing").

PY - 2019/10/8

Y1 - 2019/10/8

N2 - In the embedded domain, industrial sectors (i.e., automotive industry, avionics) are undergoing radical changes. They broadly adopt commodity hardware and move away from special-purpose control units. During this transition, heterogeneous software components are consolidated to run on commodity operating systems. To efficiently consolidate such components, a modular encapsulation of common functionality into reusable binary files (i.e., shared libraries) is essential. However, shared libraries are often unnecessarily large as they entail a lot of generic functionality that is not required in a narrowly defined scenario. As the source code of proprietary components is often unavailable and the industry is heading towards binary-only distribution, we propose an approach towards lightweight binary tailoring. As demonstrated in the evaluation, lightweight binary tailoring effectively reduces the amount of code in all shared libraries on a Linux-based system by 63 percent and shrinks their files by 17 percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.

AB - In the embedded domain, industrial sectors (i.e., automotive industry, avionics) are undergoing radical changes. They broadly adopt commodity hardware and move away from special-purpose control units. During this transition, heterogeneous software components are consolidated to run on commodity operating systems. To efficiently consolidate such components, a modular encapsulation of common functionality into reusable binary files (i.e., shared libraries) is essential. However, shared libraries are often unnecessarily large as they entail a lot of generic functionality that is not required in a narrowly defined scenario. As the source code of proprietary components is often unavailable and the industry is heading towards binary-only distribution, we propose an approach towards lightweight binary tailoring. As demonstrated in the evaluation, lightweight binary tailoring effectively reduces the amount of code in all shared libraries on a Linux-based system by 63 percent and shrinks their files by 17 percent. The reduction in size is beneficial to cut down costs (e.g., lower storage and memory footprint) and eases code analyses that are necessary for code audits.

KW - Binary tailoring

KW - Linux

KW - Shared libraries

UR - http://www.scopus.com/inward/record.url?scp=85073171489&partnerID=8YFLogxK

U2 - 10.1145/3358222

DO - 10.1145/3358222

M3 - Article

AN - SCOPUS:85073171489

VL - 18

SP - 1

EP - 23

JO - ACM Transactions on Embedded Computing Systems

JF - ACM Transactions on Embedded Computing Systems

SN - 1539-9087

IS - 5s

M1 - 102

ER -