Published August 26, 2025 | Version v1
Publication Open

Dynamic and Static Code Analysis for Java Programs on Heterogeneous Hardware

  • 1. The University of Manchester

Description

The increasing prevalence of heterogeneous computing systems, incorporating accelerators like GPUs, has spurred the development of advanced frameworks to bring high performance capabilities to managed languages. TornadoVM is a state-of-the-art, open-source framework for accelerating Java programs. It enables Java applications to offload computation onto GPUs and other accelerators, thereby bridging the gap between the high-level abstractions of the Java Virtual Machine (JVM) and the low-level, performance-oriented world of parallel programming models, such as OpenCL and CUDA. However, this bridging comes with inherent tradeoffs. The semantic and operational mismatch between these two worlds - such as managed memory versus explicit memory control, or dynamic JIT compilation versus static kernel generation - TornadoVM to limit or exclude support for certain Java features. These limitations can hinder developer productivity and make it difficult to identify and resolve compatibility issues during development.

This paper introduces TornadoInsight, a tool that simplifies development with TornadoVM by detecting incompatible Java constructs through static and dynamic analysis. TornadoInsight is developed as an open-source IntelliJ IDEA plugin that provides immediate, source-linked feedback within the developer’s workflow. We present the architecture of TornadoInsight, detail its inspection mechanisms, and evaluate its effectiveness in improving the development workflow for TornadoVM users. TornadoInsight is publicly available and offers a practical solution for enhancing developer experience and productivity in heterogeneous managed runtime environments.

Files

CAMERA_READY.pdf

Files (2.1 MB)

Name Size Download all
md5:fb976a2fbd931ee69216befc9d9850ef
2.1 MB Preview Download

Additional details

Funding

European Commission
AERO - Accelerated EuRopean clOud 101092850
European Commission
ENCRYPT - A SCALABLE AND PRACTICAL PRIVACY-PRESERVING FRAMEWORK 101070670
European Commission
INCODE - Programming Platform for Intelligent Collaborative Deployments over Heterogeneous Edge-IoT Environments 101093069
European Commission
TANGO - Digital Technologies ActiNg as a Gatekeeper to information and data flOws 101070052
UK Research and Innovation
ENCRYPT 10039809
UK Research and Innovation
AERO 10048318
UK Research and Innovation
TANGO 10039107
UK Research and Innovation
INCODE 10063848