2024 Volume 41 Issue 4 Pages 4_28-4_48
Information on control and data flows within a program is often required when building tools that support or investigate software development and maintenance activities. However, existing source code analysis tools for Java programs are not capable enough of obtaining accurate information. Although byte-code analysis tools can provide enough information, they are not suitable for implementing source code manipulation since byte-code analysis results do not have clear corresponding relationships to source code elements. JxPlatform constructs control flow graphs and program dependence graphs that consist of nodes corresponding to statements, expressions, and variables that appear in Java source code. It provides more accurate information on those graphs than the existing source code analysis tools do. This paper presents the main features, implementation details, and evaluation results of JxPlatform.