Runtime Bytecode Transformation for Smalltalk

Denker, Marcus; Ducasse, Stéphane; Tanter, Éric (2006). Runtime Bytecode Transformation for Smalltalk. Computer languages, systems & structures, 32(2-3), pp. 125-139. Elsevier 10.1016/j.cl.2005.10.002

[img] Text
1-s2.0-S1477842405000436-main.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (279kB) | Request a copy

Transforming programs to alter their semantics is of wide interest, for purposes as diverse as off-the-shelf component adaptation, optimization, trace generation, and experimentation with new language features. The current wave of interest in advanced technologies for better separation of concerns, such as aspect-oriented programming, is a solid testimony of this fact. Strangely enough, almost all proposals are formulated in the context of Java, in which tool providers encounter severe restrictions due to the rigidity of the environment. This paper present ByteSurgeon, a library to transform binary code in Smalltalk. ByteSurgeon 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 situations where the source code is not available, while providing appropriate high-level abstractions so that users do not need to program at the bytecode level. We illustrate the use of ByteSurgeon via the implementation of method wrappers and a simple MOP, and report on its efficiency.

Item Type:

Journal Article (Original Article)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Denker, Marcus

Subjects:

000 Computer science, knowledge & systems

ISSN:

1477-8424

Publisher:

Elsevier

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

16 Oct 2017 11:39

Last Modified:

11 Apr 2024 16:11

Publisher DOI:

10.1016/j.cl.2005.10.002

BORIS DOI:

10.7892/boris.104446

URI:

https://boris.unibe.ch/id/eprint/104446

Actions (login required)

Edit item Edit item
Provide Feedback