Ease Virtual Machine Level Tooling with Language Level Ordinary Object Pointers - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2022

Ease Virtual Machine Level Tooling with Language Level Ordinary Object Pointers

Abstract

Virtual Machines (VMs) are critical language execution engines. When tooling the VM level, developers face an important abstraction gap. For instance, a VM supporting an Object-oriented Programming language often manipulates its memory using addresses whereas these addresses are hidden in the language this VM supports. This discourages tooling at the VM level. We propose to use language level object ordinary pointer (LLOOP) to reduce the abstraction gap. LLOOP combine VM level and language level knowledge at the VM level to ease VM tooling. We present our implementation on the Pharo language, which is supported by the Pharo VM. Moreover, we created two tools solving two real-world major bugs in the Pharo environment. These tools required VM level support. First, we investigate how to fix a meta error that was breaking a Pharo environment, preventing it to open. We repair the broken environment by tracking and fixing the language level method responsible for the error at the VM level. Second, we investigate a corrupted Pharo image. A few objects in the Pharo memory space were corrupted i.e., the VM was not able to read and manipulate them. We are able to identify and remove the corrupted objects, fixing the Pharo environment. CCS CONCEPTS • Software and its engineering → Runtime environments; Software maintenance tools; Software defect analysis.
Fichier principal
Vignette du fichier
uncutVersion.pdf (1.09 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03827632 , version 1 (25-10-2022)

Identifiers

Cite

Pierre Misse-Chanabier, Théo Rogliano. Ease Virtual Machine Level Tooling with Language Level Ordinary Object Pointers. Proceedings of the 14th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages (VMIL '22), Dec 2022, Auckland, New Zealand. ⟨10.1145/3563838.3567676⟩. ⟨hal-03827632⟩
92 View
89 Download

Altmetric

Share

Gmail Facebook X LinkedIn More