Notice
Pas de panique, je vous explique ! Sécuriser les méthodes réflexives
- document 1 document 2 document 3
- niveau 1 niveau 2 niveau 3
Descriptif
Dans un langage de programmation, les opérations réflexives sont des outils très puissants. Elles permettent par exemple de modifier un programme en cours d’exécution, voire de modifier le langage lui-même. Mais elles présentent aussi le risque de « casser » le langage en cas d’erreur ! Peut-on sécuriser ces méthodes réflexives ?
C’est la question que s’est posée Iona Thomas, lors de sa thèse avec l’équipe Evref, au centre Inria de l’Université de Lille. Pour cela, elle s’est intéressée au cas de Pharo, un langage de programmation particulièrement réflexif. Son travail a consisté notamment à recenser toutes les méthodes réflexives, et à analyser les dépendances entre elles. Dans cette vidéo, elle explique comment elle a procédé.
Pour en savoir plus :
- Iona Thomas, Stéphane Ducasse, Pablo Tesone, Guillermo Polito. Pharo: a reflective language -Analyzing the reflective API and its internal dependencies. Journal of Computer Languages, 2024, 80, pp.101274. ⟨10.1016/j.cola.2024.101274⟩. ⟨hal-04576440v1⟩
- Iona Thomas, Stéphane Ducasse, Guillermo Polito, Pablo Tesone. Assessing Reflection Usage with Mutation Testing Augmented Analysis. 21st International Conference on Software and Systems Reuse (ICSR 2024), Jun 2024, Limassol, Cyprus. ⟨hal-04600101v1⟩
- Iona Thomas, Vincent Aranega, Stéphane Ducasse, Guillermo Polito, Pablo Tesone. A VM-Agnostic and Backwards Compatible Protected Modifier for Dynamically-Typed Languages. The Art, Science, and Engineering of Programming, 2023, ⟨10.22152/programming-journal.org/2024/8/2⟩. ⟨hal-04119017v1⟩