Discover Azul's high-performance Java platform providing faster speed, startup, & efficiency without code changes
Support

Code Inventory®

Accurately identify unused and dead code in production for removal, saving developer time and money.

Unremoved Unused and Dead Code Increases Maintenance Burden

A majority of software development is spent on maintenance. Maintaining unused and dead code wastes time and budget. Traditional tools like IDEs with static analyzers do not provide a complete view of the code used in production over time due to their static nature. Profilers are so overhead-intensive they cannot practically be used in production settings. Manually-intensive log line insertions provide only a partial view of unused and dead code.

Unremoved Dead Code Increases Maintenance Burden
divider3

Treasure Map for Finding Unused and Dead Code

The only solution that accurately identifies dead and unused source code for removal.

speed

Significant Reduction in Time Spent

Automatically finds what code runs, dramatically slashing the time to identify unused and dead code for removal by eliminating the time-intensive manual process of locating and validating unused and dead code.

code

Fully Accurate to the Method Level

Provides a comprehensive view across an enterprise’s Java workloads of what code runs over time down to the class/package and method level, providing a more accurate signal to confidently remove unused and dead code and reduce the risk of breaking the application.

support

Runs in Production, No Performance Penalty

Collects and aggregates detailed code information from inside the JVM without the performance penalty of traditional profilers, and provides production context IDEs lack.

push_pin

Summarizes and Retains History

Code Inventory® collects data across all of an enterprise’s Java workloads and consolidates it to provide a history of when code was first and last run.

Discover Even More

How It Works

Click on any highlighted areas as you mouse over the diagram for a description of how Code Inventory® works.

JVMs

The application runs on top of Azul and other JVMs, enabled with Code Inventory.

REST API

Application owners can call Code Inventory for the results via the REST API and compare against their code to plan removal

Forwarder

Data goes through the Forwarder to a point of collection

Customer Data

Each customer’s tenant collects and aggregates the data, marking the first-seen and last-seen date and time of each method to provide visibility across runs

Code Inventory® FAQ

Why use Code Inventory® vs. static analyzers, profilers, or manual log-line insertions?

Traditional code analysis tools like profilers and IDEs do not provide a complete view of the code used due to their static nature, lack context of what code is actually invoked in production over time, or are so manually-intensive they cannot practically be used in production settings 

Static analyzers in IDE tools can only find trivial cases of unused and dead code such as private methods that are statically unreachable, and so do not scale to larger projects.  

Log-line insertions are manually time-intensive and typically do not result in 100% coverage, missing much of unused and dead code.

Code Inventory® introduces no manual or performance overhead, detects what actually runs in production, and summarizes results across all JVMs over time to provide a true and accurate signal for confidently removing unused and dead code. 

Will Code Inventory® extend to my third-party libraries?

Yes, but information about third-party libraries is less actionable.

What granularity is used for storing and reporting the data?

Data from all JVMs consolidated to create an aggregated summary.

How is Code Inventory® priced and packaged?

Available now, Code Inventory® requires no changes to Java applications and is included at no additional charge for Azul Intelligence Cloud customers.

Ready? So are we.

Let us help you extend software supply chain security to production for your Java applications.