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).
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) |
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) |
com.ibm.as400.vaccess. | AS400JDBCDataSourcePaneDataBean | 94 | data class (a "DataBean", used by GUI to load/store its state) |
org.compiere.model. | X_M_InOut | 94 | not human-written, but machine-generated code |
org.compiere.model. | X_M_Product | 94 | not human-written, but machine-generated code |
apache.xml.serializer. | EmptySerializer | 93 | an adapter with many default method implementations |
com.sun.org.apache.xml.internal.serializer. | EmptySerializer | 93 | (clone of above) |
org.sablecc.sablecc.analysis. | AnalysisAdapter | 93 | an adapter with many default method implementations |
net.sf.jasperreports.engine.base. | JRBasePrintImage | 93 | data class |
org.springframework.orm.hibernate3. | HibernateTemplate | 92 | middle man |
org.compiere.model. | X_I_Product | 92 | not human-written, but machine-generated code |
org.apache.strutsel.taglib.html. | ELImgTag | 92 | data class |
net.sf.jasperreports.engine.fill. | JRTemplatePrintImage | 90 | middle man |
Package | Class | Comment/Smell/Pattern |
---|---|---|
org.apache.struts. | Globals | data class with one useful method |
org.eclipse.jdt.internal.corext.callhierarchy. | JavaImplementorFinder | middle man |
net.sourceforge.squirrel_sql.fw.util.beanwrapper. | URLWrapperBeanInfo | data class conforming to Java Beans introspection requirements |
proguard.classfile.attribute.annotation. | RuntimeVisibleAnnotationsAttrInfo | participant in visitor pattern |
org.apache.lucene.document. | Field$Index | enum with loop-less static utility methods |
org.jgraph.pad.actionsbase.lazy. | FormatLineLabelNormal | listener, participant in template method pattern |
com.sun.inputmethods.internal.indicim. | IndicInputMethod | algorithmically meaningful but loop-less methods; one method contains a manually unrolled loop |
net.sourceforge.ganttproject.time.gregorian. | CachingTextFormatter | participant in template method pattern, listener |
org.apache.tools.ant.taskdefs.optional.native2ascii. | DefaultNative2Ascii | participant in template method pattern |
org.apache.xerces.impl.xs. | ElementPSVImpl | data class, getters and one reset method |
org.springframework.remoting. | RemoteConnectFailureException | exception subtype, just a constructor delegating to super class, only purpose is to have a new exception type |
org.exoplatform.container.client. | MockClientInfo | mock object (only getters, all returning constants) |