package queries
Type Members
-
class
BytecodeInstructions extends FeatureQuery
Counts the number of occurrences of each bytecode instruction.
-
class
BytecodeInstrumentationAPIUsage extends APIFeatureQuery
Extracts basic information about the usage of the Java Instrumentation API that has been enhanced in Java 6.
-
class
ClassFileVersion extends FeatureQuery
Counts the number of class files per class file version.
-
class
ClassLoaderAPIUsage extends APIFeatureQuery
Extracts calls to the
java.lang.ClassLoaderAPI. -
class
ClassTypes extends FeatureQuery
Counts which kinds of class types are actually defined.
-
class
DebugInformation extends FeatureQuery
Classifies class file elements which contain debug information.
Classifies class file elements which contain debug information.
- Note
The "SourceDebugExtension" attribute is ignored as it is generally not used.
-
class
FanInFanOut extends FeatureQuery
This metric computes the Fan-In and Fan-Out of a class.
-
class
FieldAccessStatistics extends DefaultFeatureQuery
Counts how often fields are accessed.
-
class
GUIAPIUsage extends FeatureQuery
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:
- JavaFX (javafx.)
- SWT (org.eclipse.swt)
- Swing (javax.swing)
- AWT (java.awt)
-
class
JDBCAPIUsage extends APIFeatureQuery
Counts the amount of calls to certain JDBC api methods
-
class
JavaCryptoArchitectureUsage extends APIFeatureQuery
Captures the usage of the Java Crypto Architecture.
-
class
MethodTypes extends FeatureQuery
Counts which types of methods types are found.
-
class
MethodsWithoutReturns extends FeatureQuery
Counts the number of methods without regular returns.
-
class
Metrics extends FeatureQuery
Extracts basic metric information (Fields/Methods per Class; Classes per Package; etc.).
-
class
MicroPatterns extends FeatureQuery
Counts which kinds of micro patterns are actually available.
-
class
RecursiveDataStructures extends FeatureQuery
Identifies recursive data structures.
Identifies recursive data structures. Such data-structure can often significantly limit the scalability of analyses.
-
class
ReflectionAPIUsage extends APIFeatureQuery
Counts the number of certain calls to the Java Reflection API.
-
class
SizeOfInheritanceTree extends FeatureQuery
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!)
-
class
SystemAPIUsage extends APIFeatureQuery
Counts the calls to specific JVM are system features.
-
class
ThreadAPIUsage extends APIFeatureQuery
Captures the usage of Thread-related API usage.
-
class
TrivialReflectionUsage extends FeatureQuery
Counts (non-)trivial usages of "Class.forName(...)".
-
class
UnsafeAPIUsage extends APIFeatureQuery
Groups features that rely on the Unsafe API.
Groups features that rely on the Unsafe API. (sun.misc.Unsafe)
- Note
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.