EEL (Executable Editing Library) is a library for building tools to an
alyze and modify an executable (compiled) program. The systems and lan
guages communities have built many tools for error detection, fault is
olation, architecture translation, performance measurement, simulation
, and optimization using this approach of modifying executables. Curre
ntly, however tools of this sort are difficult and time-consuming to w
rite and are usually closely tied to a particular machine and operatin
g system. EEL supports a machine- and system-independent editing model
that enables tool builders to modify an executable without being awar
e of the derails of the underlying architecture or operating system or
being concerned with the consequences of deleting instructions or add
ing foreign code.