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

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Autoren

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

Externe Organisationen

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Aufsatznummer102
Seiten (von - bis)1-23
FachzeitschriftACM Transactions on Embedded Computing Systems
Jahrgang18
Ausgabenummer5s
PublikationsstatusVeröffentlicht - 8 Okt. 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.

ASJC Scopus Sachgebiete

Zitieren

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, Jahrgang 18, Nr. 5s, 102, 08.10.2019, S. 1-23.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-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, 18(5s), 1-23. Artikel 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 Okt 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 ; Jahrgang 18, Nr. 5s. S. 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 -