Link-time binary rewriting techniques for program compaction (2005)
| Venue: | ACM Transactions on Programming Languages and Systems |
| Citations: | 4 - 4 self |
BibTeX
@ARTICLE{Sutter05link-timebinary,
author = {Bjorn De Sutter and Bruno De Bus and Koen De Bosschere},
title = {Link-time binary rewriting techniques for program compaction},
journal = {ACM Transactions on Programming Languages and Systems},
year = {2005},
pages = {882--945}
}
OpenURL
Abstract
Small program size is an important requirement for embedded systems with limited amounts of memory. We describe how link-time compaction through binary rewriting can achieve code size reductions of up to 62 % for statically bound languages such as C, C++, and Fortran, without compromising on performance. We demonstrate how the limited amount of information about a program at link time can be exploited to overcome overhead resulting from separate compilation. This is done with scalable, cost-effective, whole-program analyses, optimizations, and duplicate code and data elimination techniques. The discussed techniques are evaluated and their cost-effectiveness is quantified with SQUEEZE++, a prototype link-time compactor. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors—Code generation; compilers; optimization; E.4 [Coding and Information Theory]: Data compaction and compression







