0% found this document useful (0 votes)
48 views28 pages

Software Mining Repository Practical

The document discusses 10 practical experiments involving software metrics and machine learning techniques. The practicals cover extracting metrics from Java code, descriptive statistics, principal component analysis, regression analysis, data preprocessing, classification, feature selection, t-tests, Mann-Whitney U test, Wilcoxon test, and Friedman test.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views28 pages

Software Mining Repository Practical

The document discusses 10 practical experiments involving software metrics and machine learning techniques. The practicals cover extracting metrics from Java code, descriptive statistics, principal component analysis, regression analysis, data preprocessing, classification, feature selection, t-tests, Mann-Whitney U test, Wilcoxon test, and Friedman test.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 28

PRACTICAL 1

Aim: Study of of ckjm Metrics tool and Extraction of Metrics data using ckjm
Theory:

The program CKJM extended calculates nineteen size and structure software metrics by
processing the bytecode of compiled Java files. The program calculates for each class the
following metrics, and displays them on its standard output or saves in file, following the class's
name:

 WMC: Weighted methods per class (NOM: Number of Methods in the QMOOD metric
suite)
 DIT: Depth of Inheritance Tree
 NOC: Number of Children
 CBO: Coupling between object classes
 RFC: Response for a Class
 LCOM: Lack of cohesion in methods
 Ca: Afferent coupling (not a C&K metric)
 Ce: Efferent coupling (not a C&K metric)
 NPM: Number of Public Methods for a class (not a C&K metric; CIS: Class Interface
Size in the QMOOD metric suite)
 LCOM3: Lack of cohesion in methods Henderson-Sellers version
 LCO: Lines of Code (not a C&K metric)
 DAM: Data Access Metric (QMOOD metric suite)
 MOA: Measure of Aggregation (QMOOD metric suite)
 MFA: Measure of Functional Abstraction (QMOOD metric suite)
 CAM: Cohesion Among Methods of Class (QMOOD metric suite)
 IC: Inheritance Coupling (quality oriented extension to C&ampK metric suite)
 CBM: Coupling Between Methods (quality oriented extension to C&ampK metric suite)
 AMC: Average Method Complexity (quality oriented extension to C&ampK metric suite)
 CC: McCabe's Cyclomatic Complexity
STEP OF EXTRACTION OF METRICS:
1. Download CKJM: First, download the CKJM tool. You can find it on various online
repositories or its official website.
2. Prepare the Java project: Clone or download the source code of the open-source
Java project you want to analyze onto your local machine. Make sure you have
Java source files (*.java) in the project.
3. Compile the project (if necessary): If the project is not already compiled, you may
need to compile it to generate the .class files. You can usually do this with a build
tool like Maven or Gradle, or by using the appropriate compiler commands if it's a
simple project.
4. Run CKJM: Navigate to the directory where you downloaded CKJM and run it
from the command line, providing the path to the Java source files of the project
as an argument.
PRACTICAL 2
Aim: Obtain Descriptive Statistics of the data you have collected. Use python
programming to obtain descriptive statistics.

CODE:
OUTPUT:
PRACTICAL 3
Aim: Principal Component Analysis of Software Metrics data of UIMS and QUES.

CODE:

OUTPUT:

UIMS
QUES
PRACTICAL 4
Aim: Regression Analysis of Software Maintainability datasets
CODE:
OUTPUT:
PRACTICAL 5
Aim: Application of Data Pre-processing techniques-data scaling, missing value
imputation

CODE:
OUTPUT:
PRACTICAL 6
Aim: Application of at least six Classification techniques on Software Fault
Prediction Datasets.

CODE:
OUTPUT:
PRACTICAL 7
Aim: Application of Feature Selection Techniques.
CODE:
OUTPUT:
PRACTICAL 8
Aim: T- test for two independent samples and Paired t- test

CODE:

OUTPUT:
PRACTICAL 9
Aim: Perform Mann Whitney U-test and Wilcoxon Test.
CODE:
OUTPUT:
PRACTICAL 10
Aim: Perform Freidman test

CODE:
OUTPUT:

You might also like