Tomoharu Ugawa (UGAWA, Tomoharu)

[Japanese page]
Associate Professor
Graduate School of Information Science and Technology
The University of Tokyo
TEL: +81-3-5841-4383

Curriculum Vitae

Bachelor of Engineering, Kyoto University, 2000.
Master of Informatics, Kyoto University, 2002.
Ph.D., Kyoto University, 2005.
Research Assistant, Graduate School of Informatics, Kyoto University, 2005-2008.
Assistant Professor, The University of Electro-Communications, 2008-2014.
Associate Professor, Kochi University of Technology, 2014-2020.
Associate Professor, The University of Tokyo, 2020-.

Research Group

We are programming languages and systems group. We are collaborating with Shigeru Chiba's group. Please visit Shigeru Chiba's group.


My research area covers programming languages and systems to execute programs. More specifically, I am interested in implementing managed runtime systems of high level languages, such as Java VM and JavaScript VM. One of my research goals is to develop good managed runtime systems. It would be high performance, secure, and energy- and space-efficient. Offering a good abstraction of new hardware, such as non-volatile memory, to high level languages is also included in my research goals. Keywords of my research topic include: garbage collection, memory management, managed runtimes, dynamic languages, optimization, model checking, Java, JavaScript, non-volatile memory, embedded systems.


Persistent Java Heap Using Non-Volatile Memory

My group is developing a Java virtual machine that can recover data even after a sudden power loss. For example, with this system, data can be held in memory thus improving access speed compared with traditional database systems. We exploit new Non-Volatile Memory (NVM) technologies, which can preserve memory contents without power. We are developing mechanisms for Java, where programmers do not handle memory directly, to automatically manage objects in NVM.

JavaScript VM for Embedded Systems

JavaScript is a widely-used programming language in browsers. This research aims at making JavaScript available on embedded systems and IoT devices, with limited computational resources (CPU power and memory). JavaScript programs are executed on virtual machines called JavaScript engines. Our approach is to specialize the virtual machine to the JavaScript program being run.




Services to domestic societies are listed in Japanese version.