Application domain: component measurement
Description:
JMT (Java Measurement Tool), was developed at the University of Magdeburg. 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.
Supported languages: Java
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) / (n2-n) ; with n = number
- ANM – Average Number of Methods per Class ANM – Average Number of Attributes per Class
- ANM – Average Number of Parameter per Method
Download (Freeware!):
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.
|