Metric Results

[ summary] [ packages] [ cycles] [ explanations]

The following document contains the results of a JDependmetric analysis. The various metrics are defined at the bottom of this document.

Summary

[ summary] [ packages] [ cycles] [ explanations]

Package TC AC CC AC EC A I D
joeq.Allocator 15 9 6 15 10 0.6 40% 0%
joeq.Assembler 7 1 6 4 6 0.14 60% 26%
joeq.Assembler.x86 5 1 4 3 9 0.2 75% 5%
joeq.Bootstrap 18 1 17 12 19 0.06 61% 33%
joeq.Class 76 17 59 61 21 0.22 26% 52%
joeq.ClassLib 1 1 0 23 9 1 28% 28%
joeq.ClassLib.Common 6 3 3 18 19 0.5 51% 1%
joeq.ClassLib.Common.java.io 11 10 1 0 13 0.91 100% 91%
joeq.ClassLib.Common.java.lang 14 12 2 3 16 0.86 84% 70%
joeq.ClassLib.Common.java.lang.ref 1 1 0 1 5 1 83% 83%
joeq.ClassLib.Common.java.lang.reflect 6 2 4 1 11 0.33 92% 25%
joeq.ClassLib.Common.java.net 2 0 2 0 10 0 100% 0%
joeq.ClassLib.Common.java.security 1 1 0 0 2 1 100% 100%
joeq.ClassLib.Common.java.util 3 2 1 0 9 0.67 100% 67%
joeq.ClassLib.Common.java.util.zip 19 4 15 1 5 0.21 83% 4%
joeq.ClassLib.Common.sun.misc 4 3 1 0 10 0.75 100% 75%
joeq.ClassLib.apple13_osx 2 0 2 0 8 0 100% 0%
joeq.ClassLib.apple13_osx.java.lang 1 1 0 0 2 1 100% 100%
joeq.ClassLib.apple13_osx.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.ibm13_linux 2 0 2 0 11 0 100% 0%
joeq.ClassLib.ibm13_linux.com.ibm.jvm 1 1 0 0 3 1 100% 100%
joeq.ClassLib.ibm13_linux.java.lang 2 1 1 0 3 0.5 100% 50%
joeq.ClassLib.ibm13_linux.java.lang.ref 1 1 0 0 1 1 100% 100%
joeq.ClassLib.ibm13_linux.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.ibm13_win32 2 0 2 0 11 0 100% 0%
joeq.ClassLib.ibm13_win32.java.lang 2 1 1 0 3 0.5 100% 50%
joeq.ClassLib.ibm13_win32.java.lang.ref 1 1 0 0 1 1 100% 100%
joeq.ClassLib.ibm13_win32.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.pa 2 0 2 0 8 0 100% 0%
joeq.ClassLib.pa.java.security 1 1 0 0 2 1 100% 100%
joeq.ClassLib.sun13_linux 2 0 2 0 8 0 100% 0%
joeq.ClassLib.sun13_linux.java.lang 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun13_linux.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun13_win32 2 0 2 0 9 0 100% 0%
joeq.ClassLib.sun13_win32.java.io 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun13_win32.java.lang 1 0 1 0 3 0 100% 0%
joeq.ClassLib.sun13_win32.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun142_linux 2 0 2 1 8 0 89% 11%
joeq.ClassLib.sun142_linux.java.lang 1 0 1 0 2 0 100% 0%
joeq.ClassLib.sun142_win32 2 0 2 1 9 0 90% 10%
joeq.ClassLib.sun142_win32.java.lang 1 0 1 0 2 0 100% 0%
joeq.ClassLib.sun14_linux 2 0 2 1 9 0 90% 10%
joeq.ClassLib.sun14_linux.java.io 2 1 1 0 3 0.5 100% 50%
joeq.ClassLib.sun14_linux.java.lang 6 3 3 0 9 0.5 100% 50%
joeq.ClassLib.sun14_linux.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun14_win32 2 0 2 1 9 0 90% 10%
joeq.ClassLib.sun14_win32.java.io 4 3 1 0 4 0.75 100% 75%
joeq.ClassLib.sun14_win32.java.lang 6 3 3 0 9 0.5 100% 50%
joeq.ClassLib.sun14_win32.java.util.zip 1 1 0 0 3 1 100% 100%
joeq.ClassLib.sun15_linux 2 0 2 0 8 0 100% 0%
joeq.ClassLib.sun15_linux.java.lang 3 2 1 0 3 0.67 100% 67%
joeq.ClassLib.sun15_linux.java.util.concurrent.atomic 1 0 1 0 2 0 100% 0%
joeq.ClassLib.sun15_linux.sun.misc 1 0 1 0 2 0 100% 0%
joeq.ClassLib.sun15_win32 2 0 2 0 11 0 100% 0%
joeq.ClassLib.sun15_win32.java.io 1 0 1 0 1 0 100% 0%
joeq.ClassLib.sun15_win32.java.lang 2 1 1 0 3 0.5 100% 50%
joeq.ClassLib.sun15_win32.java.util.concurrent.atomic 1 0 1 0 2 0 100% 0%
joeq.ClassLib.sun15_win32.sun.misc 1 0 1 0 2 0 100% 0%
joeq.Compiler 6 3 3 8 8 0.5 50% 0%
joeq.Compiler.Analysis.BDD 1 0 1 2 12 0 86% 14%
joeq.Compiler.Analysis.FlowInsensitive 37 6 31 6 20 0.16 77% 7%
joeq.Compiler.Analysis.IPA 60 3 57 9 28 0.05 76% 19%
joeq.Compiler.Analysis.IPSSA 76 13 63 3 15 0.17 83% 0%
joeq.Compiler.Analysis.IPSSA.Apps 17 1 16 0 15 0.06 100% 6%
joeq.Compiler.Analysis.IPSSA.Utils 17 1 16 2 14 0.06 88% 7%
joeq.Compiler.Analysis.Primitive 55 6 49 0 27 0.11 100% 11%
joeq.Compiler.BytecodeAnalysis 238 40 198 7 14 0.17 67% 17%
joeq.Compiler.Dataflow 17 6 11 2 12 0.35 86% 21%
joeq.Compiler.Quad 441 54 387 16 22 0.12 58% 30%
joeq.Compiler.Quad.IPA 1 1 0 0 6 1 100% 100%
joeq.Compiler.Quad.SSA 1 0 1 3 11 0 79% 21%
joeq.Compiler.Quad.x86 3 0 3 0 22 0 100% 0%
joeq.Compiler.Reference.x86 4 1 3 1 16 0.25 94% 19%
joeq.Debugger 2 0 2 2 14 0 88% 12%
joeq.Interpreter 18 3 15 2 16 0.17 89% 6%
joeq.Linker.ELF 33 7 26 1 6 0.21 86% 7%
joeq.Main 25 10 15 27 32 0.4 54% 6%
joeq.Memory 7 4 3 27 2 0.57 7% 36%
joeq.Runtime 26 14 12 45 17 0.54 27% 19%
joeq.Scheduler 15 4 11 19 16 0.27 46% 28%
joeq.Support 1 0 1 1 2 0 67% 33%
joeq.Synchronization 1 1 0 0 7 1 100% 100%
joeq.UTF 3 0 3 38 6 0 14% 86%
joeq.Util 3 0 3 3 5 0 62% 38%
joeq.Util.IO 1 0 1 1 6 0 86% 14%
joeq.Util.SyntheticGraphs 4 0 4 2 3 0 60% 40%
joeq.Util.Templates 48 28 20 13 5 0.58 28% 14%

Packages

[ summary] [ packages] [ cycles] [ explanations]

joeq.Assembler

Afferent Couplings Efferent Couplings Abstractness Instability Distance
4 6 14% 60% 26%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Assembler.x86

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 9 20% 75% 5%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Class

Afferent Couplings Efferent Couplings Abstractness Instability Distance
61 21 22% 26% 52%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.ClassLib.Common.java.lang.ref

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 5 100% 83% 83%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.Common.java.lang.reflect

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 11 33% 92% 25%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.ClassLib.Common.java.net

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.Common.java.security

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.Common.java.util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 67% 100% 67%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.Common.sun.misc

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 10 75% 100% 75%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.apple13_osx

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.apple13_osx.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.apple13_osx.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_linux

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_linux.com.ibm.jvm

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_linux.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.ibm13_linux.java.lang.ref

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_linux.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_win32

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_win32.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.ibm13_win32.java.lang.ref

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.ibm13_win32.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.pa

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.pa.java.security

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_linux

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_linux.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_linux.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_win32

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_win32.java.io

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_win32.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun13_win32.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun142_linux

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 8 0% 89% 11%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun142_linux.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun142_win32

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 0% 90% 10%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun142_win32.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun14_linux

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 0% 90% 10%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_linux.java.io

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_linux.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_linux.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun14_win32

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 9 0% 90% 10%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_win32.java.io

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 4 75% 100% 75%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_win32.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 9 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun14_win32.java.util.zip

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_linux

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 8 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_linux.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 67% 100% 67%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun15_linux.java.util.concurrent.atomic

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_linux.sun.misc

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_win32

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 11 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_win32.java.io

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 1 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_win32.java.lang

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 3 50% 100% 50%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.ClassLib.sun15_win32.java.util.concurrent.atomic

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.ClassLib.sun15_win32.sun.misc

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 2 0% 100% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.Compiler.Analysis.BDD

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 12 0% 86% 14%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Compiler.Analysis.FlowInsensitive

Afferent Couplings Efferent Couplings Abstractness Instability Distance
6 20 16% 77% 7%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Compiler.Analysis.IPA

Afferent Couplings Efferent Couplings Abstractness Instability Distance
9 28 5% 76% 19%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Compiler.Analysis.IPSSA

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 15 17% 83% 0%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Compiler.Analysis.Primitive

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 27 11% 100% 11%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Compiler.BytecodeAnalysis

Afferent Couplings Efferent Couplings Abstractness Instability Distance
7 14 17% 67% 17%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Compiler.Quad

Afferent Couplings Efferent Couplings Abstractness Instability Distance
16 22 12% 58% 30%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Compiler.Quad.IPA

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 6 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.Compiler.Quad.SSA

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 11 0% 79% 21%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Debugger

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 14 0% 88% 12%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Main

Afferent Couplings Efferent Couplings Abstractness Instability Distance
27 32 40% 54% 6%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Runtime

Afferent Couplings Efferent Couplings Abstractness Instability Distance
45 17 54% 27% 19%
Abstract Classes Concrete Classes Used by Packages Uses Packages

joeq.Support

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 2 0% 67% 33%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Synchronization

Afferent Couplings Efferent Couplings Abstractness Instability Distance
0 7 100% 100% 100%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None None

joeq.Util

Afferent Couplings Efferent Couplings Abstractness Instability Distance
3 5 0% 62% 38%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Util.IO

Afferent Couplings Efferent Couplings Abstractness Instability Distance
1 6 0% 86% 14%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Util.SyntheticGraphs

Afferent Couplings Efferent Couplings Abstractness Instability Distance
2 3 0% 60% 40%
Abstract Classes Concrete Classes Used by Packages Uses Packages
None

joeq.Util.Templates

Afferent Couplings Efferent Couplings Abstractness Instability Distance
13 5 58% 28% 14%
Abstract Classes Concrete Classes Used by Packages Uses Packages

Cycles

[ summary] [ packages] [ cycles] [ explanations]

Package Cyclic Dependencies
joeq.Allocator
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Assembler
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Assembler.x86
  • joeq.Allocator
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Bootstrap
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.Common
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.java.io
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.java.lang
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.java.lang.ref
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.java.lang.reflect
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.java.net
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.Common.java.util
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.Common.sun.misc
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.apple13_osx
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.apple13_osx.java.lang
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.ibm13_linux
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.ibm13_linux.com.ibm.jvm
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.ibm13_linux.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.ibm13_win32
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.ibm13_win32.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.pa
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun13_linux
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun13_linux.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun13_win32
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun13_win32.java.io
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun13_win32.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun142_linux
  • joeq.ClassLib.sun14_linux
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun142_win32
  • joeq.ClassLib.sun14_win32
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun14_linux
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun14_linux.java.io
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun14_linux.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun14_win32
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun14_win32.java.io
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.ClassLib.sun14_win32.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun15_linux
  • joeq.ClassLib.sun142_linux
  • joeq.ClassLib.sun14_linux
  • joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun15_linux.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun15_linux.java.util.concurrent.atomic
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun15_linux.sun.misc
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.ClassLib.sun15_win32
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.ClassLib.sun15_win32.java.lang
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun15_win32.java.util.concurrent.atomic
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.ClassLib.sun15_win32.sun.misc
  • joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Compiler
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Compiler.Analysis.BDD
  • joeq.Compiler.Quad.SSA
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Compiler.Analysis.FlowInsensitive
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
joeq.Compiler.Analysis.IPA
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Analysis.IPSSA
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Analysis.IPSSA.Apps
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
joeq.Compiler.Analysis.IPSSA.Utils
  • joeq.Compiler.Analysis.FlowInsensitive
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
joeq.Compiler.Analysis.Primitive
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.BytecodeAnalysis
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Dataflow
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Quad.IPA
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Compiler.Quad.SSA
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Compiler.Quad.x86
  • joeq.Compiler.Reference.x86
  • joeq.Compiler
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Compiler.Reference.x86
  • joeq.Compiler
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Debugger
  • joeq.Compiler.BytecodeAnalysis
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Interpreter
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.Memory
  • joeq.Class
  • joeq.Memory
joeq.Runtime
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
joeq.Scheduler
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.Synchronization
  • joeq.Main
  • joeq.UTF
  • joeq.Runtime
  • joeq.Main
joeq.UTF
  • joeq.Runtime
  • joeq.Main
  • joeq.UTF
joeq.Util
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Util.IO
  • joeq.Compiler.Analysis.IPA
  • joeq.Compiler.Quad
  • joeq.Class
  • joeq.Memory
  • joeq.Class
joeq.Util.Templates
  • joeq.Class
  • joeq.Memory
  • joeq.Class

Explanations

[ summary] [ packages] [ cycles] [ explanations]

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

Term Description
Number of Classes The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.
Afferent Couplings The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.
Efferent Couplings The number of other packages that the classes in the package depend upon is an indicator of the package's independence.
Abstractness The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package. The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.
Instability The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change. The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.
Distance The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability. A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0). The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.
Cycles Packages participating in a package dependency cycle are in a deadly embrace with respect to reusability and their release cycle. Package dependency cycles can be easily identified by reviewing the textual reports of dependency cycles. Once these dependency cycles have been identified with JDepend, they can be broken by employing various object-oriented techniques.