Cross-ISA Testing of the Pharo VM: Lessons ...
Type de document :
Communication dans un congrès avec actes
DOI :
Titre :
Cross-ISA Testing of the Pharo VM: Lessons Learned While Porting to ARMv8
Auteur(s) :
Polito, Guillermo [Auteur]
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Tesone, Pablo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stéphane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Ecole nationale supérieure Mines-Télécom Lille Douai [IMT Nord Europe]
Rogliano, Théo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Misse-Chanabier, Pierre [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Phillips, Carolina [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 [CRIStAL]
Tesone, Pablo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ducasse, Stéphane [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Fabresse, Luc [Auteur]
Ecole nationale supérieure Mines-Télécom Lille Douai [IMT Nord Europe]
Rogliano, Théo [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Misse-Chanabier, Pierre [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Phillips, Carolina [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Titre de la manifestation scientifique :
MPLR ’21, Germany
Ville :
Münster
Pays :
Allemagne
Date de début de la manifestation scientifique :
2021-09-29
Mot(s)-clé(s) en anglais :
just-in-time compilers
virtual machines
ARM
testing
ports
Cross-ISA
virtual machines
ARM
testing
ports
Cross-ISA
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Résumé en anglais : [en]
Testing and debugging a Virtual Machine is a laborious task without the proper tooling. This is particularly true for VMs with JIT compilation and dynamic code patching for techniques such as inline caching. In addition, ...
Lire la suite >Testing and debugging a Virtual Machine is a laborious task without the proper tooling. This is particularly true for VMs with JIT compilation and dynamic code patching for techniques such as inline caching. In addition, this situation is getting worse when the VM builds and runs on multiple target architectures. In this paper, we report on several lessons we learned while testing the Pharo VM, particularly during the port of its Cogit JIT compiler to the AArch64 architecture. The Pharo VM presented already a simulation environment that is very handy to simulate full executions and live-develop the VM. However, this full simulation environment makes it difficult to reproduce short and simple testing scenarios. We extended the pre-existing simulation environment with a testing infrastructure and a methodology that allow us to have fine-grained control of testing scenarios, making tests small, fast, reproducible, and cross-ISA. We report on how this testing infrastructure allowed us to cope with two different development scenarios: (1) porting the Cogit JIT compiler to AArch64 without early access to real hardware and (2) debugging memory corruptions due to GC bugs. CCS Concepts: • Software and its engineering → Runtime environments.Lire moins >
Lire la suite >Testing and debugging a Virtual Machine is a laborious task without the proper tooling. This is particularly true for VMs with JIT compilation and dynamic code patching for techniques such as inline caching. In addition, this situation is getting worse when the VM builds and runs on multiple target architectures. In this paper, we report on several lessons we learned while testing the Pharo VM, particularly during the port of its Cogit JIT compiler to the AArch64 architecture. The Pharo VM presented already a simulation environment that is very handy to simulate full executions and live-develop the VM. However, this full simulation environment makes it difficult to reproduce short and simple testing scenarios. We extended the pre-existing simulation environment with a testing infrastructure and a methodology that allow us to have fine-grained control of testing scenarios, making tests small, fast, reproducible, and cross-ISA. We report on how this testing infrastructure allowed us to cope with two different development scenarios: (1) porting the Cogit JIT compiler to AArch64 without early access to real hardware and (2) debugging memory corruptions due to GC bugs. CCS Concepts: • Software and its engineering → Runtime environments.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.inria.fr/hal-03332033/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-03332033/document
- Accès libre
- Accéder au document
- https://hal.inria.fr/hal-03332033/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- main.pdf
- Accès libre
- Accéder au document
- main.pdf
- Accès libre
- Accéder au document