Browse Prior Art Database

Binary optimizer

IP.com Disclosure Number: IPCOM000021831D
Publication Date: 2004-Feb-11
Document File: 2 page(s) / 60K

Publishing Venue

The IP.com Prior Art Database

Abstract

ID899619

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

ID899619

Binary optimizer


1. Abstract This idea is to develop a tool for doing optimization on the binary file. This tool will process the binary file obtained after compiling and linking many modules.
2. Existing system

In most of the cases an application or firmware may contain many independently developed modules. This is especially true in the object-oriented designs like COM, DCOM and DVP. Different people would develop these modules with the reusability and generalization in mind. Some of these modules are IP blocks, available only as binary or library form.
3. Shortcoming of existing system

There is a possibility of repetition of same code in different modules in a system. We can't avoid this during module implementation since we aim at reusability and generalization at that time. But when we design a system with many such modules, the redundancy of code pieces may come. In other words, same functions or parts of code will appear on more than one place in the final binary code. We cannot apply normal code optimization techniques here since many modules are available only as library or binary form and thus source code is not available.

This will cause the increase in the size of binary file. This leads to wastage of system hardware resources like memory.

Some methods exist to reduce the size of object code but they are based on compression of the binary. The compressed code must be expanded before running and this will consume some processing time, which will lead to increase in boot time. Here also no savings in the memory size since the code occupy same memory footprint after expansion.
4. Description of the proposal

If we check the executable file of the whole system, we can find out many similar code fragments. This idea is to develop a tool, which searches the binary executable file, and find out the redundant co...