Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

SLINKY: Static Linking Reloaded

Static linking has many advantages over dynamic linking. It is simple to understand, implement, and use. It ensures that an executable is self-contained and does not depend on a particular set of libraries during execution. As a consequence, the user executes exactly the same executable image as was tested by the developer, diminishing the risk that the user's environment will affect correct behavior.

The major disadvantages of static linking are increases in the memory required to run an executable, network bandwidth to transfer it, and disk space to store it.

In this paper we describe the SLINKY system that uses digest-based sharing to combine the simplicity of static linking with the space savings of dynamic linking: although SLINKY executables are completely self-contained, minimal performance and disk-space penalties are incurred if two executables use the same library. We have developed a SLINKY prototype that consists of tools for adding digests to executables, a slight modification of the Linux kernel to use those digests to share code pages, and tools for transferring files between machines based on digests of their contents. Results show that our prototype has no measurable performance decrease relative to dynamic linking, a comparable memory footprint, a 20% storage space increase, and a 34% increase in the network bandwidth required to transfer the packages. We believe that SLINKY obviates many of the justifications for dynamic linking, making static linking a superior technology for software organization and distribution.

Christian Collberg, University of Arizona

John H. Hartman, University of Arizona

Sridivya Babu, University of Arizona

Sharath K. Udupa, University of Arizona

BibTeX
@inproceedings {269378,
author = {Christian Collberg and John H. Hartman and Sridivya Babu and Sharath K. Udupa},
title = {{SLINKY}: Static Linking Reloaded},
booktitle = {2005 USENIX Annual Technical Conference (USENIX ATC 05)},
year = {2005},
address = {Anaheim, CA},
url = {https://www.usenix.org/conference/2005-usenix-annual-technical-conference/slinky-static-linking-reloaded},
publisher = {USENIX Association},
month = apr
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/usenix05/tech/general/full_papers/collberg/collberg.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/usenix05/tech/general/full_papers/collberg/collberg_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us