Java Migration Analysis

JMS Fleets facilitates the migration of applications from older JDKs to newer ones for developers seeking to take advantage of the latest performance enhancements and language improvements. Through its Migration Analysis feature, JMS performs a comprehensive analysis of the application and generates detailed reports calling out the potential effort and risk involved in the migration process.

The Migration Analysis report provides business decision makers and developers with a detailed assessment of the effort required to transition applications to a newer JDK version. Migration Analysis also allows developers to easily consider different JDK version choices. By quantifying the effort involved in migrating to different JDK versions, developers can make informed decisions about which JDK version to migrate to.
Note

Migration Analysis can be invoked on Java workloads running on Oracle and OpenJDK releases of Java 8 and later versions.

Although there are JDK static analysis tools such as jdeps and jdeprscan, Migration Analysis offers additional capabilities:

  • Analysis reports from Migration Analysis help developers identify classes and APIs that need changes, specifying both mandatory and recommended modifications.
  • Migration analysis reports specify the line numbers in the source code where modifications are needed.
  • It supports analyzing multiple target JDK versions without requiring you to install those JDKs. In contrast, jdeps and jdeprscan need the corresponding JDK to be installed in order to perform analysis.
  • Report include external links such as javadoc, jeps, BugDB, which helps developers to find additional information or alternatives to fix the issues.
  • Unlike jdeps and jdeprscan, Migration Analysis does not list the JDK APIs used by applications.

The report is available in two formats:

  1. In JMS Fleet Management: The report can be viewed in the OCI console from the fleet where the Migration analysis action was initiated.
  2. Static HTML: The report can be downloaded from the OCI console, enabling easy sharing with other team members for collaborative analysis and discussion.

To enable Java Migration Analysis in your fleet, see Enabling Advanced Features.