ByteSurgeon is a library to transform binary code in Smalltalk. It takes full advantage of the flexibility of the Squeak environment to enable bytecode transformation at runtime, thereby allowing dynamic, on-the-fly modification of applications. ByteSurgeon operates on bytecode in order to cope with situation where either the source code or a full compiler is not available, while providing appropriate high-level abstractions so that users do not need to program at the bytecode level.

Users of ByteSurgeon

ByteSurgeon has been used in a number of projects:


Ready to run image:

To install the code in an existing image:

  • Load package ByteSurgeonLoader from SqueakSource
  • Execute ByteSurgeonLoader new loadAll (Pharo) or ByteSurgeonLoader new loadAllSqueak (Squeak)


  • Marcus Denker, Stéphane Ducasse and Éric Tanter, Runtime Bytecode Transformation for Smalltalk, Journal of Computer Languages, Systems and Structures, vol. 32, no. 2-3, July 2006, pp. 125-139. Abstract, PDF


Last changed by admin on 21 April 2009