Reflection as a Tool to Debug Objects
Résumé
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.
Domaines
Génie logiciel [cs.SE]
Fichier principal
2022-Modern-Reflection-techniques-to-debug-object-hal-version.pdf (664.33 Ko)
Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)