User login

Outliers with High or Low Essence

This page presents classes in our corpus with the highest or lowest relative essence. Note that 125640 classes (59%) have zero relative essence. Thus, we only report two small samples of those zero-essence classes. The first sample consists of those zero-essence classes containing the largest number of methods (zero essence, but lots of loop call graph nodes). The second sample constitutes a random sample of zero-essence classes (thus, it is not biased in any way).

High Relative Essence (Classes with Highest Relative Essence)

The classes mostly contain long methods, sometimes accompanied by comments.

Package

Class

E

e

Comment/Smell/Pattern

artofillusion.

TriMeshBeveler

60.0

5.454

comments, a few long methods (containing large numbers of loops)

sandmark.watermark.execpath.

ContextCodeGen

10.0

5.0

one long method (containing a large number of loops)

org.openscience.cdk.structgen.deterministic.

GENMDeterministicGenerator

156.0

4.875

comments, long methods (containing large numbers of loops)

weka.core.matrix.

EigenvalueDecomposition

50.0

4.545

comments, a few long methods (containing a large number of loops)

cern.colt.matrix.linalg.

EigenvalueDecomposition

50.0

4.545

(code clone of above class)

com.jcraft.jorbis.

Drft

70.0

4.375

long methods (containing large number of loops)

org.geotools.image.jai.

Combine

8.0

4.0

comments, two long methods (containing a large number of loops)

org.apache.derby.iapi.db.

ConsistencyChecker

8.0

4.0

comments, one long method (containing a large number of loops)

org.apache.batik.anim.

MotionAnimation

8.0

4.0

two long methods (containing a large number of loops)

artofillusion.procedural.

ProcedureEditor$ClipboardSelection

8.0

4.0

comments, two long methods (each containing four loops)

org.sablecc.sablecc.

LR1Collection

8.0

4.0

long method (with many loops)

org.lnicholls.galleon.apps.movies.

Movies$6

8.0

4.0

one long method (with many loops)

artofillusion.

PluginRegistry$JarInfo

4.0

4.0

one long method (with many loops)

cern.colt.matrix.impl.

BenchmarkMatrix2D

36.0

4.0

long methods (containing large numbers of loops)

Zero Relative Essence (Classes with Largest Number of Methods)

The classes are mostly data classes, middle men, or adapters with default method implementations, or they are machine-generated.

Package

Class

Methods

Comment/Smell/Pattern

net.sf.jasperreports.engine.util.

JRStyleResolver

99

all static "decorator" methods, all following almost the same code pattern (if delegate returns null, ask someone else)

org.apache.openejb.jee.oejb2.

ObjectFactory

99

(non-abstract) factory

org.jruby.ast.visitor.

AbstractVisitor

97

abstract superclass for visitor implementations, provides a large number of default visit methods

org.apache.poi.hssf.record.

ExtendedFormatRecord

96

data class that can serialize/deserialize its objects to/from binary representation

org.hibernate.cfg.

Settings

95

data class

sandmark.util.newgraph.

EditableGraphStyle

94

middle man (acts as a kind of facade on or adapter to NodeAttributes and EdgeAttributes)