Counts the number of occurrences of each bytecode instruction.
Extracts basic information about the usage of the Java Instrumentation API that has been enhanced in Java 6.
Counts the number of class files per class file version.
Extracts calls to the java.lang.ClassLoader API.
Counts which kinds of class types are actually defined.
Classifies class file elements which contain debug information.
This metric computes the Fan-In and Fan-Out of a class.
Counts how often fields are accessed.
Scans a class file's constant pool to check whether it refers to packages that belong to an API for graphical user interfaces.
Scans a class file's constant pool to check whether it refers to packages that belong to an API for graphical user interfaces. The current analysis supports:
Counts the amount of calls to certain JDBC api methods
Captures the usage of the Java Crypto Architecture.
Counts which types of methods types are found.
Counts the number of methods without regular returns.
Extracts basic metric information (Fields/Methods per Class; Classes per Package; etc.).
Identifies recursive data structures.
Identifies recursive data structures. Such data-structure can often significantly limit the scalability of analyses.
Counts the number of certain calls to the Java Reflection API.
Computes the size of the inheritance tree for each class of a project and then assigns the class to its respective category.
Computes the size of the inheritance tree for each class of a project and then assigns the class to its respective category.
Here, the size is measured by counting all super types (interfaces and classes!)
Counts the calls to specific JVM are system features.
Captures the usage of Thread-related API usage.
Counts (non-)trivial usages of "Class.forName(...)".
Groups features that rely on the Unsafe API.
Groups features that rely on the Unsafe API. (sun.misc.Unsafe)
Feature groups are taken from and are further discussed in the following paper: "Use at Your Own Risk: The Java Unsafe API in the Wild" by Luis Mastrangelo et al.
Classifies class file elements which contain debug information.
The "SourceDebugExtension" attribute is ignored as it is generally not used.