Hello,
My name is Pierre Misse-Chanabier. I'm finishing my PhD in the RMOD team on testing Virtual Machines soon. I wanted to share with you a project I did with Theo Rogliano on the Pharo VM, which should be straightforward to use on the OpenSmalltalk-VM as well. Except for the UI, of course !
In a nutshell, Polyphemus [1] reifies OOPs in the memory to propose a representation that is closer to the language level. Therefore, it provides a layer that is easier to work with. For example, if an OOP is pointing to a class, I can ask for its name, inspect it as I would at the language level, or send message special to a class that shouldn't work on a string OOP for example. We have develop a few visualizations and basic tools for the Pharo VM. Particularly, we have been able to fix error containing meta-errors and memory corruptions. You may have encounter a video of this at the Technological Innovation award at ESUG 2022 [2]. We have also wrote a paper that will be published soon at VMIL 2022 [3].
I haven't checked in quite a long time, but I think that most (or all) of the simulator features we use in Polyphemus are available in the OpenSmalltal-VM as well.
I hope it'll be useful to someone else, or at least interesting to some of you :)
Pierre
[1] Github Repository: https://github.com/hogoww/Polyphemus/ [2] Video Presentation for Esug Innovation award (I was unable to present it myself): https://www.youtube.com/watch?v=zf3cCtNW830 [3] VMIL'22: Ease VM Level Tooling with Language Level Ordinary Object Pointers https://hal.inria.fr/hal-03827632 (preprint)
Hello,
For the few that might be interested, I have done a recording of the VMIL presentation. https://www.youtube.com/watch?v=-phxX8ia630
Happy winter break and stuff ! Cheers, Pierre
On 10/31/2022 5:45 PM, Pierre Misse wrote:
Hello,
My name is Pierre Misse-Chanabier. I'm finishing my PhD in the RMOD team on testing Virtual Machines soon. I wanted to share with you a project I did with Theo Rogliano on the Pharo VM, which should be straightforward to use on the OpenSmalltalk-VM as well. Except for the UI, of course !
In a nutshell, Polyphemus [1] reifies OOPs in the memory to propose a representation that is closer to the language level. Therefore, it provides a layer that is easier to work with. For example, if an OOP is pointing to a class, I can ask for its name, inspect it as I would at the language level, or send message special to a class that shouldn't work on a string OOP for example. We have develop a few visualizations and basic tools for the Pharo VM. Particularly, we have been able to fix error containing meta-errors and memory corruptions. You may have encounter a video of this at the Technological Innovation award at ESUG 2022 [2]. We have also wrote a paper that will be published soon at VMIL 2022 [3].
I haven't checked in quite a long time, but I think that most (or all) of the simulator features we use in Polyphemus are available in the OpenSmalltal-VM as well.
I hope it'll be useful to someone else, or at least interesting to some of you :)
Pierre
[1] Github Repository: https://github.com/hogoww/Polyphemus/ [2] Video Presentation for Esug Innovation award (I was unable to present it myself): https://www.youtube.com/watch?v=zf3cCtNW830 [3] VMIL'22: Ease VM Level Tooling with Language Level Ordinary Object Pointers https://hal.inria.fr/hal-03827632 (preprint)
vm-dev@lists.squeakfoundation.org