Ratio between Dynamic and Static Classes



Overview

When looking at the vFunction Server UI’s Analysis tab for a Monolithic Application, the Actions Header in the left-hand sidebar gives a count of values gathered about the Application via both the Dynamic Analysis and the Static Analysis. The Total Classes is gathered from the Static Analysis via the vFunction Viper process. The Classes + Common Classes (the sume of these two values) are gathered from the Dynamic Analysis via the vFunction Agent.


Comparing the Ratio of Dynamic and Static Classes

The common ratio representing good coverage of the Application is between Dynamic and Static classes is between 20%-25% after the Learning has been completed.

The reasons this ratio may seem lower than expected are due to Classes that could never be seen by the Dynamic Analysis:

  • Classes that were not instantiated (interfaces, abstract classes with no methods)
  • Classes that were optimized out by the compiler, e.g., const classes and enums, entity classes with just getters and setters, inlining of methods

Next Steps

If the ratio between the Dynamic and Static Classes seems lower than expected, review the Dead Code Classes for a list of Classes that were not covered during Learning. Additional, focused testing may be required to ensure these Classes are not listed as Dead Code.

To see the Dead Code Classes:

  1. Log into the vFunction Server UI
  2. Access the Analysis tab in the top, center Menu Bar
  3. Expand the Application domain on the bottom, right of the right-hand sidebar
  4. Click View next to the Dead Code Classes
  5. Scroll through the list of Dead Code Classes. If desired, expand the Class to see more Details or to take an Action on the Dead Code