Please use this identifier to cite or link to this item: https://research.matf.bg.ac.rs/handle/123456789/3036
Title: Extensible Java Bytecode Data-Flow Analysis JVMCI Framework
Authors: Stefanović, Aleksandar 
Ristović, Ivan 
Vujošević Janičić, Milena 
Affiliations: Informatics and Computer Science 
Informatics and Computer Science 
Informatics and Computer Science 
Keywords: Static analysis;bytecode analysis;Java;GraalVM
Issue Date: 2025
Rank: M64
Publisher: Beograd : Matematički fakultet
Related Publication(s): XV Simpozijum "Matematika i primene" : Knjiga apstrakata
Conference: Simpozijum "Matematika i primene" (15 ; 2025 ; Beograd)
Abstract: 
Static program analysis is the analysis of programs without their execution. It has various applications, including error detection, code optimization, code style compliance checking, and formatting In the area of compiler development, an often-used static analysis technique is data-flow analysis [1]. Based on the provided abstract program state representation, instruction transfer functions, and the control-flow merge function, a data-flow analysis computes an abstract execution state at each point of the program.
We present an extensible, intraprocedural data-flow analysis framework for Java bytecode and its implementation within GraalVM Native Image [2], an ahead-of-time compiler for Java programs. Unlike existing and widely used Java bytecode manipulation and analysis libraries, such as ASM 4.0 [3], the implemented framework relies on the Java Virtual Machine Compiler Interface (JVMCI) for access to method bytecode. The framework is currently used for static resolution of reflective method invocations in GraalVM [4, 5], and arbitrary forward data-flow analyses can be implemented on top of it.
URI: https://research.matf.bg.ac.rs/handle/123456789/3036
Appears in Collections:Research outputs

Show full item record

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.