Reflection as a Tool to Debug Objects - Pharo Access content directly
Conference Papers Year : 2022

Reflection as a Tool to Debug Objects

Abstract

In this paper, we share our experience with using reflection as a systematic tool to build advanced debuggers. We illustrate the usage and combination of reflection techniques for the implementation of object-centric debugging. Objectcentric debugging is a technique for object-oriented systems that scopes debugging operations to specific objects. The implementation of this technique is not straightforward, as there are, to the best of our knowledge, no description in the literature about how to build such debugger. We describe an implementation of object-centric breakpoints. We built these breakpoints with Pharo, a highly reflective system, based on the combination of different classical reflection techniques: proxy, anonymous subclasses, and sub-method partial behavioral reflection. Because this implementation is based on common reflective techniques, it is applicable to other reflective languages and systems for which a set of identified primitives are available.
Fichier principal
Vignette du fichier
2022-Modern-Reflection-techniques-to-debug-object-hal-version.pdf (664.33 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03846015 , version 1 (09-11-2022)

Identifiers

Cite

Steven Costiou, Vincent Aranega, Marcus Denker. Reflection as a Tool to Debug Objects. SLE 2022 - 15th ACM SIGPLAN International Conference on Software Language Engineering, Dec 2022, Auckland, New Zealand. ⟨10.1145/3567512.3567517⟩. ⟨hal-03846015⟩
61 View
102 Download

Altmetric

Share

Gmail Mastodon Facebook X LinkedIn More