Abstract:
Live data-structure programming environments lively visualizes objects created in a program execution as a node=link diagram. Their implementations need to record an object graph (i. e., objects and their mutual references) at every point of execution. In our previous paper, we proposed an implementation of the Kanon live programming environment that collects object graphs by creating a modified GraalJS, a JavaScript implementation with Graal/Truffle, that records object creation and modification events. This talk discusses the feasibility of our approach that uses a meta-compiler framework for recording fine-grained program execution logs with respect to its efficiency and ability to support multiple languages.
Reference:
Efficient Object Graph Recording with Truffle for Live Data-Structure Programming (Shusuke Takahashi, Yusuke Izawa, Hidehiko Masuhara and Youyou Cong), Talk at the Truffle/GraalVM Languages Workshop (Truffle 2022), 2022.
Bibtex Entry:
@misc{takahashi2022truffle,
author = {Shusuke Takahashi and Yusuke Izawa and Hidehiko Masuhara and Youyou Cong},
title = {Efficient Object Graph Recording with Truffle for Live Data-Structure Programming},
howpublished = {Talk at the Truffle/GraalVM Languages Workshop (Truffle 2022)},
month = jun,
year = 2022,
url = {https://2022.ecoop.org/details/truffle-2022/5/Efficient-Object-Graph-Recording-with-Truffle-for-Live-Data-Structure-Programming},
abstract = {Live data-structure programming environments lively visualizes objects created in a program execution as a node=link diagram. Their implementations need to record an object graph (i. e., objects and their mutual references) at every point of execution. In our previous paper, we proposed an implementation of the Kanon live programming environment that collects object graphs by creating a modified GraalJS, a JavaScript implementation with Graal/Truffle, that records object creation and modification events. This talk discusses the feasibility of our approach that uses a meta-compiler framework for recording fine-grained program execution logs with respect to its efficiency and ability to support multiple languages.}
}