JavaNCSS Metric Results

[ package ] [ object ] [ method ] [ explanation ]

The following document contains the results of a JavaNCSS metric analysis, using JavaNCSS version 32.53.
JavaNCSS web site.

Packages

[ package ] [ object ] [ method ] [ explanation ]

Packages sorted by NCSS.

PackageClassesMethodsNCSSJavadocsJavadoc linesSingle lines commentMulti lines comment
org.slasoi.isslam.poc.slaparser11761141465144
org.slasoi.isslam.poc.resourceplanneroptimizer.impl11704826429540146
org.slasoi.isslam.poc.servicesmanager.impl230328312173068
org.slasoi.isslam.poc.impl6191952218573
org.slasoi.isslam.poc.utils1010515153
org.slasoi.isslam.poc.planhandler.impl1596210140
org.slasoi.isslam.poc.outresourcer.impl148841580
org.slasoi.isslam.poc.runner.impl14612102024
org.slasoi.isslam.poc.slat2sla.impl1647415110
org.slasoi.isslam.poc.slatcreator12391410
org.slasoi.isslam.poc.slaparser.exceptions31230316120
org.slasoi.isslam.poc.monitoringconfigserialization12220000
org.slasoi.isslam.poc.replan11151540
org.slasoi.isslam.poc.servicesmanager141252203
org.slasoi.isslam.poc.outresourcer131042003
org.slasoi.isslam.poc.planhandler.exceptions141041540
org.slasoi.isslam.poc1172900
org.slasoi.isslam.poc.resourceplanneroptimizer.exceptions1150016
org.slasoi.isslam.poc.planhandler1142803
org.slasoi.isslam.poc.resourceplanneroptimizer12437012
org.slasoi.isslam.poc.runner1243909
org.slasoi.isslam.poc.slat2sla1142800
Classes totalMethods totalNCSS totalJavadocsJavadoc linesSingle lines commentMulti lines comment
401912179164889232424

Objects

[ package ] [ object ] [ method ] [ explanation ]

TOP 30 classes containing the most NCSS.

ObjectNCSSMethodsClassesJavadocs
org.slasoi.isslam.poc.slaparser.SLAParser5681704
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor29312010
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures18620021
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl1348419
org.slasoi.isslam.poc.utils.Constant104001
org.slasoi.isslam.poc.servicesmanager.impl.ServiceManagerHandlerImpl10310010
org.slasoi.isslam.poc.planhandler.impl.PlanHandlerImpl75502
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Request7429025
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCIAssessmentAndCustomize72404
org.slasoi.isslam.poc.outresourcer.impl.OutResourceImpl70404
org.slasoi.isslam.poc.runner.impl.RunnerImpl45402
org.slasoi.isslam.poc.slat2sla.impl.SLAT2SLAImpl36604
org.slasoi.isslam.poc.slatcreator.SLATCreator30201
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Resource21707
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCINotification19101
org.slasoi.isslam.poc.monitoringconfigserialization.Serialization17200
org.slasoi.isslam.poc.impl.PlanningOptimizationActivator16403
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.QoS14505
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.CPU13505
org.slasoi.isslam.poc.planhandler.exceptions.InvalidSLAFormatException9404
org.slasoi.isslam.poc.replan.ReplanImpl9101
org.slasoi.isslam.poc.slaparser.exceptions.InvalidSLATemplateFormatException9401
org.slasoi.isslam.poc.slaparser.exceptions.MoreThanOneInterfaceDefinedException9401
org.slasoi.isslam.poc.slaparser.exceptions.NoVMSpecifiedException9401
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Memory8303
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCIReplan6101
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.ResourcePlannerOptimizerImpl6301
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.SubProviderResourceComparator6203
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.VMAccessPoint6203
org.slasoi.isslam.poc.servicesmanager.ServiceManagerHandler5405

TOP 30 classes containing the most methods.

ObjectNCSSMethodsClassesJavadocs
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Request7429025
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures18620021
org.slasoi.isslam.poc.slaparser.SLAParser5681704
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor29312010
org.slasoi.isslam.poc.servicesmanager.impl.ServiceManagerHandlerImpl10310010
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl1348419
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Resource21707
org.slasoi.isslam.poc.slat2sla.impl.SLAT2SLAImpl36604
org.slasoi.isslam.poc.planhandler.impl.PlanHandlerImpl75502
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.CPU13505
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.QoS14505
org.slasoi.isslam.poc.impl.PlanningOptimizationActivator16403
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCIAssessmentAndCustomize72404
org.slasoi.isslam.poc.outresourcer.impl.OutResourceImpl70404
org.slasoi.isslam.poc.planhandler.exceptions.InvalidSLAFormatException9404
org.slasoi.isslam.poc.runner.impl.RunnerImpl45402
org.slasoi.isslam.poc.servicesmanager.ServiceManagerHandler5405
org.slasoi.isslam.poc.slaparser.exceptions.InvalidSLATemplateFormatException9401
org.slasoi.isslam.poc.slaparser.exceptions.MoreThanOneInterfaceDefinedException9401
org.slasoi.isslam.poc.slaparser.exceptions.NoVMSpecifiedException9401
org.slasoi.isslam.poc.outresourcer.OutResource4304
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.Memory8303
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.ResourcePlannerOptimizerImpl6301
org.slasoi.isslam.poc.monitoringconfigserialization.Serialization17200
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.SubProviderResourceComparator6203
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.VMAccessPoint6203
org.slasoi.isslam.poc.resourceplanneroptimizer.ResourcePlannerOptimizer3203
org.slasoi.isslam.poc.runner.Runner3203
org.slasoi.isslam.poc.slatcreator.SLATCreator30201
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCINotification19101

Averages.

NCSS averageProgram NCSSClasses averageMethods averageJavadocs average
50.052,179.000.104.784.28

Methods

[ package ] [ object ] [ method ] [ explanation ]

TOP 30 Methods containing the most NCSS.

MethodsNCSSCCNJavadocs
org.slasoi.isslam.poc.slaparser.SLAParser.x_RENDER(ConstraintExpr)4351220
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor.recursive()181410
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCIAssessmentAndCustomize.createAgreement(String,SLATemplate)42121
org.slasoi.isslam.poc.runner.impl.RunnerImpl.run()34101
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures.buildTest()2711
org.slasoi.isslam.poc.servicesmanager.impl.ServiceManagerHandlerImpl.query(Request)2791
org.slasoi.isslam.poc.slaparser.SLAParser.x_RENDER(VariableDeclr)2780
org.slasoi.isslam.poc.planhandler.impl.PlanHandlerImpl.planMaker()2590
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures.buildFunction(String,String,String,String,String)2551
org.slasoi.isslam.poc.outresourcer.impl.OutResourceImpl.createSLA(SLATemplate)24131
org.slasoi.isslam.poc.servicesmanager.impl.ServiceManagerHandlerImpl.generateProvisionRequestType(Request,MonitoringSystemConfiguration)24101
org.slasoi.isslam.poc.slatcreator.SLATCreator.start(String)24100
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCIAssessmentAndCustomize.terminate(UUID,org.slasoi.gslam.core.negotiation.INegotiation.TerminationReason)23121
org.slasoi.isslam.poc.outresourcer.impl.OutResourceImpl.negotiation(SLATemplate)23101
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor.calculateExtraQoSCosts(Request)2261
org.slasoi.isslam.poc.outresourcer.impl.OutResourceImpl.getProperSLATemplates(Request)1981
org.slasoi.isslam.poc.planhandler.impl.PlanHandlerImpl.generateProvisionRequest()1961
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor.calculateBulkPriceReduction(int,int)19111
org.slasoi.isslam.poc.slaparser.SLAParser.SLAParser(SLATemplate)1961
org.slasoi.isslam.poc.impl.PlanningOptimizationImpl.POCINotification.activate(SLA)1861
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor.processFinalProfit(double)1750
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures.buildFunctionUnitWithEvent(String,String,String,String)1631
org.slasoi.isslam.poc.servicesmanager.impl.ServiceManagerHandlerImpl.vmSizeMapping(Request)1551
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures.buildComparisonOpFeatures()1411
org.slasoi.isslam.poc.slaparser.SLAParser.x_SLA_CONTENT()1370
org.slasoi.isslam.poc.slaparser.SLAParser.x_RENDER(AgreementTerm)1360
org.slasoi.isslam.poc.servicesmanager.impl.EverestTestMonitoringFeatures.buildEventFunctionFeatures()1211
org.slasoi.isslam.poc.slat2sla.impl.SLAT2SLAImpl.copy()1210
org.slasoi.isslam.poc.resourceplanneroptimizer.impl.RequestProcessor.getMinimalProfitsRate(String)1171
org.slasoi.isslam.poc.monitoringconfigserialization.Serialization.serialize(MonitoringSystemConfiguration)1030

Averages.

Program NCSSNCSS averageCCN averageJavadocs average
2,179.008.692.980.66

Explanations

[ package ] [ object ] [ method ] [ explanation ]

Non Commenting Source Statements (NCSS)

Statements for JavaNCSS are not statements as specified in the Java Language Specification but include all kinds of declarations too. Roughly spoken, NCSS is approximately equivalent to counting ';' and '{' characters in Java source files.

Not counted are empty statements, empty blocks or semicolons after closing brackets. Of course, comments don't get counted too. Closing brackets also never get counted, the same applies to blocks in general.

Examples
Package declarationpackage java.lang;
Import declarationimport java.awt.*;
Class declaration
  • public class Foo {
  • public class Foo extends Bla {
Interface declarationpublic interface Able ; {
Field declaration
  • int a;
  • int a, b, c = 5, d = 6;
Method declaration
  • public void cry();
  • public void gib() throws DeadException {
Constructor declarationpublic Foo() {
Constructor invocation
  • this();
  • super();
Statement declaration
  • i = 0;
  • if (ok)
  • if (exit) {
  • if (3 == 4);
  • if (4 == 4) { ;
  • } else {
Label declarationfine :

In some cases consecutive semicolons are illegal according to the JLS but JavaNCSS still tolerates them (thought JavaNCSS is still more strict as 'javac'). Nevertheless they are never counted as two statements.

Cyclomatic Complexity Number (CCN)

CCN is also know as McCabe Metric. There exists a much hyped theory behind it based on graph theory, but it all comes down to simply counting 'if', 'for', 'while' statements etc. in a method. Whenever the control flow of a method splits, the "CCN counter" gets incremented by one.

Each method has a minimum value of 1 per default. For each of the following Java keywords/statements this value gets incremented by one:

  • if
  • for
  • while
  • case
  • catch

Also if the control flow of a method returns abortively the CCNvalue will be incremented by one:

  • if
  • for

An ordinary return at the end of method will not be counted.

Note that 'else', 'default', and 'finally' don't increment the CCN value any further. On the other hand, a simple method with a 'switch' statement and a huge block of 'case' statements can have a surprisingly high CCN value (still it has the same value when converting a 'switch' block to an equivalent sequence of 'if' statements).