Introduction

This page is a code analysis report about Velocity auto-generated by XDepend.
In this report, you will find useful project metrics about the 1.6.2 release of Velocity such as the most used types.
This report detailled also what has changed since the previous release 1.6.1 and also the evolution between abstractness and instability.
You may also leave comments to point out more information about this release
To get explanations concerning these metrics, go to the XDepend home page.


About this report

Project Metrics

StatOccurrencesAvgStdDevMax
Properties on Interfaces 40 Interfaces 000 properties on org.apache.velocity.app.event.MethodExceptionEventHandler
Methods on Interfaces 40 Interfaces 5.329.3141 methods on org.apache.velocity.runtime.parser.node.ParserVisitor
Arguments on Methods on Interfaces 213 Methods 1.261.125 arguments on org.apache.velocity.app.event.InvalidReferenceEventHandler.invalidMethod(Context,String,Object,String,Info)
Public Properties on Classes 221 Classes 0.321.026 public properties on org.apache.velocity.context.InternalContextBase
Public Methods on Classes 221 Classes 6.828.2350 public methods on org.apache.velocity.runtime.parser.Parser
Arguments on Public Methods on Classes 1507 Methods 1.231.127 arguments on org.apache.velocity.runtime.parser.TokenMgrError.TokenMgrError(boolean,int,int,int,String,char,int)
BC Instructions in non-abstract Methods 1940 Methods 29.2289.161917 BC instructions in org.apache.velocity.runtime.parser.ParserTokenManager.jjMoveNfa_0(int,int)
Cyclomatic complexity on non abstract Methods 1940 Methods 3.7315.62 CC = 407 for org.apache.velocity.runtime.parser.ParserTokenManager.jjMoveNfa_0(int,int)

Jars Metrics

Jar# Types# Abstract Types# BC InstAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
velocity v1.0261555669201525.1110.210.21

Abstractness Versus Instability

CurrentPrevious

What happened since the previous release

Here is an overview of what has changed between the two versions analyzed. You can click on a line to have the full list of elements matching the rule.

ZoomMethods removed : 0% (3/2754)
// <Name>Methods removed</Name>
WARN IF Count > 0 IN SELECT METHODS WHERE WasRemoved
This list was extracted from the codebase thanks to this specific query in XDepend
  • org.apache.velocity.runtime.parser.Parser.jj_la1_init_1()
  • org.apache.velocity.runtime.parser.Parser.jj_la1_init_0()
  • org.apache.velocity.runtime.parser.Parser.jj_la1_init_2()

Types Metrics

TypeRank values are computed by applying the Google PageRank algorithm on the graph of types' dependencies. A homothety of center 0.15 is applied to make it so that the average of TypeRank is 1.
Types with high TypeRank should be more carefully tested because bugs in such types will likely be more catastrophic. It is a value calculated only by XDepend

RankTypeNamespace
6.86Logorg.apache.velocity.runtime.log
6.17RuntimeServicesorg.apache.velocity.runtime
5.96InternalContextAdapterorg.apache.velocity.context
5.55SimpleNodeorg.apache.velocity.runtime.parser.node
5.47Contextorg.apache.velocity.context
5.36Parserorg.apache.velocity.runtime.parser
4.5ParserVisitororg.apache.velocity.runtime.parser.node
4.31VelocityExceptionorg.apache.velocity.exception
3.95Nodeorg.apache.velocity.runtime.parser.node
3.66MethodInvocationExceptionorg.apache.velocity.exception
3.12ResourceNotFoundExceptionorg.apache.velocity.exception
2.74Tokenorg.apache.velocity.runtime.parser
2.59ParseErrorExceptionorg.apache.velocity.exception
2.54Infoorg.apache.velocity.util.introspection