Otto-von-Guericke-Universität Magdeburg, Germany
Department of Software Engineering
JMT – Java Measurement Tool
all rights reserved
The
Java Measurement Tool realizes a static measurement of Java applications.
It analyzes the Java classes and the relations between them. Please have
a look at the list of used metrics.
How to use the application
There are two ways of analyzing Java classes. The first way is to analyze
one single Java class (select ‘Analyze a File’). There is also the
possibility to analyze an entire project consisting of several files (select
‘Analyze a Project’). To process an entire project you have to analyze
it file by file. Click the button ‘Load File’ and select a Java
file. It must be a source code file. It is impossible to process a compiled
class file. After loading the file click the button ‘Analyze File’
to process it. You will get a message about the success or an occurring
error. If you are analyzing a project, continue with the next file.
After processing the files, the results of the measurement are displayed.
You can select to have a look at the data of the classes or the data of
the methods contained within the project. Please notice the list of the
metrics.
List of available metrics
-
Metrics on Class Level
-
DIT – Depth of Inheritance Tree
Is the maximum length of the way from the class to the root. Classes
without a parent class have a DIT of 0.
-
NOC – Number of Children
Number of direct successor classes.
-
WMC – Weighted Methods per Class
here: number of methods of the considered class.
-
WAC – Weighted Attributes per Class
here: number of attributes of the considered class.
-
CBO – Coupling between Object Classes
Number of classes, which are coupled with this class.
Classes are coupled, if one class uses methods or attributes of the
other class.
-
PIM – Number of Public Methods
-
NMI – Number of Methods inherited
Number of methods of the direct parent class
-
NAI – Number of Attributes inherited
Number of attributes of the direct parent class
-
NMO – Number of Methods overwritten
-
RFC – Response for a class
Number of methods used by the class plus the methods of the class.
Is the highest possible number of methods, which can be invoked by
a message to this class.
-
LOC – Lines of Code
-
Metrics on Method Level
-
NOP – Number of Parameter
-
LOC – Lines of Code
-
Metrics on Inheritance Level
-
MIF – Method Inheritance Factor
Relation of inherited methods to total number of methods.
-
AIF – Attribute Inheritance Factor
Relation of inherited attributess to total number of attributes.
-
Metrics on System Level
-
COF – Coupling Factor
(= (total number of couplings) / (n²-n) ; with n = number of defined
classes)
A high COF points to a high complexity of the system.
-
ANM – Average Number of Methods per Class
-
ANM – Average Number of Attributes per Class
-
ANM – Average Number of Parameter per Method
Involved Persons / E-Mails
This
tool was developed by Ingo Patett as his Diplom-Arbeit. The project was
supervised by Prof. Dumke and Dr. Köppe. It was improved by Christian
Kolbe under supervision of Dipl.-Inf. Wille.
Known Problems:
Classes
with nested classes and interfaces can cause incorrect results.