Package | TC | CC | AC | Ca | Ce | A | I | D | V |
---|---|---|---|---|---|---|---|---|---|
org.sat4j | 15 | 13 | 2 | 0 | 21 | 13.0% | 100.0% | 13.0% | 1 |
org.sat4j.core | 7 | 6 | 1 | 10 | 5 | 14.0% | 33.0% | 52.0% | 1 |
org.sat4j.minisat | 1 | 1 | 0 | 1 | 11 | 0.0% | 92.0% | 8.0% | 1 |
org.sat4j.minisat.constraints | 23 | 19 | 4 | 2 | 9 | 17.0% | 82.0% | 1.0% | 1 |
org.sat4j.minisat.constraints.card | 3 | 3 | 0 | 2 | 6 | 0.0% | 75.0% | 25.0% | 1 |
org.sat4j.minisat.constraints.cnf | 12 | 11 | 1 | 4 | 6 | 8.0% | 60.000004% | 32.0% | 1 |
org.sat4j.minisat.constraints.pb | 21 | 16 | 5 | 2 | 10 | 24.0% | 83.0% | 7.0% | 1 |
org.sat4j.minisat.core | 37 | 17 | 20 | 10 | 7 | 54.000004% | 41.0% | 5.0% | 1 |
org.sat4j.minisat.learning | 9 | 7 | 2 | 2 | 3 | 22.0% | 60.000004% | 18.0% | 1 |
org.sat4j.minisat.orders | 8 | 8 | 0 | 2 | 7 | 0.0% | 78.0% | 22.0% | 1 |
org.sat4j.minisat.restarts | 3 | 3 | 0 | 3 | 2 | 0.0% | 40.0% | 60.000004% | 1 |
org.sat4j.minisat.uip | 2 | 2 | 0 | 2 | 4 | 0.0% | 67.0% | 33.0% | 1 |
org.sat4j.opt | 7 | 6 | 1 | 3 | 6 | 14.0% | 67.0% | 19.0% | 1 |
org.sat4j.reader | 17 | 16 | 1 | 1 | 14 | 6.0% | 93.0% | 1.0% | 1 |
org.sat4j.reader.csp | 23 | 17 | 6 | 1 | 7 | 26.0% | 88.0% | 14.0% | 1 |
org.sat4j.specs | 8 | 2 | 6 | 14 | 4 | 75.0% | 22.0% | 3.0% | 1 |
org.sat4j.tools | 13 | 12 | 1 | 4 | 6 | 8.0% | 60.000004% | 32.0% | 1 |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
0 | 21 | 13.0% | 100.0% | 13.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.AbstractLauncher org.sat4j.AbstractOptimizationLauncher | org.sat4j.AbstractLauncher$1 org.sat4j.AbstractLauncher$2 org.sat4j.CSPLauncher org.sat4j.ExitCode org.sat4j.GenericOptLauncher org.sat4j.Lanceur org.sat4j.LanceurPseudo2005 org.sat4j.LanceurPseudo2007 org.sat4j.MaxSatLauncher org.sat4j.Messages org.sat4j.MoreThanSAT org.sat4j.ResultCode org.sat4j.ResultsManager | None | java.awt java.io java.lang java.lang.management java.lang.reflect java.net java.util org.apache.commons.beanutils org.apache.commons.cli org.sat4j.core org.sat4j.minisat org.sat4j.minisat.constraints org.sat4j.minisat.core org.sat4j.minisat.learning org.sat4j.minisat.orders org.sat4j.minisat.restarts org.sat4j.minisat.uip org.sat4j.opt org.sat4j.reader org.sat4j.specs org.sat4j.tools |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 5 | 14.0% | 33.0% | 52.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.core.ASolverFactory | org.sat4j.core.DefaultComparator org.sat4j.core.Vec org.sat4j.core.Vec$1 org.sat4j.core.VecInt org.sat4j.core.VecInt$1 org.sat4j.core.VecInt$2 | org.sat4j org.sat4j.minisat org.sat4j.minisat.constraints org.sat4j.minisat.constraints.cnf org.sat4j.minisat.constraints.pb org.sat4j.minisat.core org.sat4j.opt org.sat4j.reader org.sat4j.reader.csp org.sat4j.tools | java.io java.lang java.lang.reflect java.util org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 11 | 0.0% | 92.0% | 8.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.sat4j.minisat.SolverFactory | org.sat4j | java.io org.sat4j.core org.sat4j.minisat.constraints org.sat4j.minisat.constraints.pb org.sat4j.minisat.core org.sat4j.minisat.learning org.sat4j.minisat.orders org.sat4j.minisat.restarts org.sat4j.minisat.uip org.sat4j.specs org.sat4j.tools |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 9 | 17.0% | 82.0% | 1.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.minisat.constraints.AbstractCardinalityDataStructure org.sat4j.minisat.constraints.AbstractDataStructureFactory org.sat4j.minisat.constraints.AbstractPBClauseCardConstrDataStructure org.sat4j.minisat.constraints.AbstractPBDataStructureFactory | org.sat4j.minisat.constraints.CardinalityDataStructure org.sat4j.minisat.constraints.CardinalityDataStructureYanMax org.sat4j.minisat.constraints.CardinalityDataStructureYanMin org.sat4j.minisat.constraints.ClausalDataStructureCB org.sat4j.minisat.constraints.ClausalDataStructureCBWL org.sat4j.minisat.constraints.ClausalDataStructureWL org.sat4j.minisat.constraints.MixedDataStructureDaniel org.sat4j.minisat.constraints.MixedDataStructureDanielCBWL org.sat4j.minisat.constraints.MixedDataStructureWithBinary org.sat4j.minisat.constraints.MixedDataStructureWithBinaryAndTernary org.sat4j.minisat.constraints.PBMaxCBClauseCardConstrDataStructure org.sat4j.minisat.constraints.PBMaxClauseAtLeastConstrDataStructure org.sat4j.minisat.constraints.PBMaxClauseCardConstrDataStructure org.sat4j.minisat.constraints.PBMaxDataStructure org.sat4j.minisat.constraints.PBMinClauseCardConstrDataStructure org.sat4j.minisat.constraints.PBMinDataStructure org.sat4j.minisat.constraints.PuebloPBMinClauseAtLeastConstrDataStructure org.sat4j.minisat.constraints.PuebloPBMinClauseCardConstrDataStructure org.sat4j.minisat.constraints.PuebloPBMinDataStructure | org.sat4j org.sat4j.minisat | java.io java.lang java.math org.sat4j.core org.sat4j.minisat.constraints.card org.sat4j.minisat.constraints.cnf org.sat4j.minisat.constraints.pb org.sat4j.minisat.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 6 | 0.0% | 75.0% | 25.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.sat4j.minisat.constraints.card.AtLeast org.sat4j.minisat.constraints.card.MaxWatchCard org.sat4j.minisat.constraints.card.MinWatchCard | org.sat4j.minisat.constraints org.sat4j.minisat.constraints.pb | java.io java.lang java.math org.sat4j.minisat.constraints.cnf org.sat4j.minisat.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 6 | 8.0% | 60.000004% | 32.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.minisat.constraints.cnf.WLClause | org.sat4j.minisat.constraints.cnf.BinaryClauses org.sat4j.minisat.constraints.cnf.CBClause org.sat4j.minisat.constraints.cnf.DefaultWLClause org.sat4j.minisat.constraints.cnf.LearntWLClause org.sat4j.minisat.constraints.cnf.Lits org.sat4j.minisat.constraints.cnf.Lits2 org.sat4j.minisat.constraints.cnf.Lits23 org.sat4j.minisat.constraints.cnf.MarkableLits org.sat4j.minisat.constraints.cnf.MixableCBClause org.sat4j.minisat.constraints.cnf.OriginalWLClause org.sat4j.minisat.constraints.cnf.TernaryClauses | org.sat4j.minisat.constraints org.sat4j.minisat.constraints.card org.sat4j.minisat.constraints.pb org.sat4j.minisat.learning | java.io java.lang java.util org.sat4j.core org.sat4j.minisat.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 10 | 24.0% | 83.0% | 7.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.minisat.constraints.pb.IConflict org.sat4j.minisat.constraints.pb.IDataStructurePB org.sat4j.minisat.constraints.pb.IInternalPBConstraintCreator org.sat4j.minisat.constraints.pb.PBConstr org.sat4j.minisat.constraints.pb.WatchPb | org.sat4j.minisat.constraints.pb.AtLeastPB org.sat4j.minisat.constraints.pb.ConflictMap org.sat4j.minisat.constraints.pb.ConflictMapCardinality org.sat4j.minisat.constraints.pb.ConflictMapClause org.sat4j.minisat.constraints.pb.ConflictMapMerging org.sat4j.minisat.constraints.pb.MapPb org.sat4j.minisat.constraints.pb.MaxWatchPb org.sat4j.minisat.constraints.pb.MinWatchCardPB org.sat4j.minisat.constraints.pb.MinWatchPb org.sat4j.minisat.constraints.pb.MixableCBClausePB org.sat4j.minisat.constraints.pb.PBSolver org.sat4j.minisat.constraints.pb.PBSolverClause org.sat4j.minisat.constraints.pb.PBSolverMerging org.sat4j.minisat.constraints.pb.PBSolverWithImpliedClause org.sat4j.minisat.constraints.pb.PuebloMinWatchPb org.sat4j.minisat.constraints.pb.WLClausePB | org.sat4j.minisat org.sat4j.minisat.constraints | java.io java.lang java.math java.util org.sat4j.core org.sat4j.minisat.constraints.card org.sat4j.minisat.constraints.cnf org.sat4j.minisat.core org.sat4j.minisat.restarts org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
10 | 7 | 54.000004% | 41.0% | 5.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.minisat.core.ActivityListener org.sat4j.minisat.core.AssertingClauseGenerator org.sat4j.minisat.core.ConflictTimer org.sat4j.minisat.core.Constr org.sat4j.minisat.core.ConstrActivityListener org.sat4j.minisat.core.DataStructureFactory org.sat4j.minisat.core.ILits org.sat4j.minisat.core.ILits2 org.sat4j.minisat.core.ILits23 org.sat4j.minisat.core.IMarkableLits org.sat4j.minisat.core.IOrder org.sat4j.minisat.core.Learner org.sat4j.minisat.core.LearningStrategy org.sat4j.minisat.core.Propagatable org.sat4j.minisat.core.RestartStrategy org.sat4j.minisat.core.SearchListener org.sat4j.minisat.core.Solver$ISimplifier org.sat4j.minisat.core.Undoable org.sat4j.minisat.core.UnitPropagationListener org.sat4j.minisat.core.VarActivityListener | org.sat4j.minisat.core.ActivityComparator org.sat4j.minisat.core.DotSearchListener org.sat4j.minisat.core.Handle org.sat4j.minisat.core.Heap org.sat4j.minisat.core.IntQueue org.sat4j.minisat.core.Lbool org.sat4j.minisat.core.LiteralsUtils org.sat4j.minisat.core.NullSearchListener org.sat4j.minisat.core.SearchParams org.sat4j.minisat.core.Solver org.sat4j.minisat.core.Solver$1 org.sat4j.minisat.core.Solver$2 org.sat4j.minisat.core.Solver$3 org.sat4j.minisat.core.Solver$4 org.sat4j.minisat.core.Solver$5 org.sat4j.minisat.core.SolverStats org.sat4j.minisat.core.TextOutputListener | org.sat4j org.sat4j.minisat org.sat4j.minisat.constraints org.sat4j.minisat.constraints.card org.sat4j.minisat.constraints.cnf org.sat4j.minisat.constraints.pb org.sat4j.minisat.learning org.sat4j.minisat.orders org.sat4j.minisat.restarts org.sat4j.minisat.uip | java.io java.lang java.lang.reflect java.math java.util org.sat4j.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 3 | 22.0% | 60.000004% | 18.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.minisat.learning.AbstractLearning org.sat4j.minisat.learning.LimitedLearning | org.sat4j.minisat.learning.ActiveLearning org.sat4j.minisat.learning.ClauseOnlyLearning org.sat4j.minisat.learning.FixedLengthLearning org.sat4j.minisat.learning.MiniSATLearning org.sat4j.minisat.learning.NoLearningButHeuristics org.sat4j.minisat.learning.NoLearningNoHeuristics org.sat4j.minisat.learning.PercentLengthLearning | org.sat4j org.sat4j.minisat | java.lang org.sat4j.minisat.constraints.cnf org.sat4j.minisat.core |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 7 | 0.0% | 78.0% | 22.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.sat4j.minisat.orders.JWOrder org.sat4j.minisat.orders.MyOrder org.sat4j.minisat.orders.PureOrder org.sat4j.minisat.orders.ValuedLit org.sat4j.minisat.orders.VarOrder org.sat4j.minisat.orders.VarOrderHeap org.sat4j.minisat.orders.VarOrderHeapObjective org.sat4j.minisat.orders.VarOrderHeapRsat | org.sat4j org.sat4j.minisat | java.io java.lang java.math java.util org.sat4j.minisat.core org.sat4j.opt org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 2 | 0.0% | 40.0% | 60.000004% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.sat4j.minisat.restarts.ArminRestarts org.sat4j.minisat.restarts.LubyRestarts org.sat4j.minisat.restarts.MiniSATRestarts | org.sat4j org.sat4j.minisat org.sat4j.minisat.constraints.pb | java.lang org.sat4j.minisat.core |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
2 | 4 | 0.0% | 67.0% | 33.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
None | org.sat4j.minisat.uip.DecisionUIP org.sat4j.minisat.uip.FirstUIP | org.sat4j org.sat4j.minisat | java.io java.lang org.sat4j.minisat.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
3 | 6 | 14.0% | 67.0% | 19.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.opt.AbstractSelectorVariablesDecorator | org.sat4j.opt.MaxSatDecorator org.sat4j.opt.MinCostDecorator org.sat4j.opt.MinOneDecorator org.sat4j.opt.ObjectiveFunction org.sat4j.opt.PseudoOptDecorator org.sat4j.opt.WeightedMaxSatDecorator | org.sat4j org.sat4j.minisat.orders org.sat4j.reader | java.io java.lang java.math org.sat4j.core org.sat4j.specs org.sat4j.tools |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 14 | 6.0% | 93.0% | 1.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.reader.Reader | org.sat4j.reader.AAGReader org.sat4j.reader.AIGReader org.sat4j.reader.CSPExtSupportReader org.sat4j.reader.CSPReader org.sat4j.reader.CSPSupportReader org.sat4j.reader.CardDimacsReader org.sat4j.reader.DimacsReader org.sat4j.reader.ExtendedDimacsReader org.sat4j.reader.GoodOPBReader org.sat4j.reader.InstanceReader org.sat4j.reader.LecteurDimacs org.sat4j.reader.OPBReader2005 org.sat4j.reader.OPBReader2006 org.sat4j.reader.OPBReader2007 org.sat4j.reader.ParseFormatException org.sat4j.reader.XMLCSPReader | org.sat4j | java.io java.lang java.math java.net java.util java.util.zip javax.xml.parsers org.sat4j.core org.sat4j.csp.xml org.sat4j.opt org.sat4j.reader.csp org.sat4j.specs org.sat4j.tools org.xml.sax |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
1 | 7 | 26.0% | 88.0% | 14.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.reader.csp.Clausifiable org.sat4j.reader.csp.Domain org.sat4j.reader.csp.Encoding org.sat4j.reader.csp.Evaluable org.sat4j.reader.csp.Relation org.sat4j.reader.csp.Supports | org.sat4j.reader.csp.AllDiff org.sat4j.reader.csp.BessiereSupports org.sat4j.reader.csp.BinarySupportEncoding org.sat4j.reader.csp.Constant org.sat4j.reader.csp.DirectEncoding org.sat4j.reader.csp.EnumeratedDomain org.sat4j.reader.csp.EnumeratedDomain$1 org.sat4j.reader.csp.GeneralizedSupportEncoding org.sat4j.reader.csp.GentSupports org.sat4j.reader.csp.Nogoods org.sat4j.reader.csp.Predicate org.sat4j.reader.csp.RangeDomain org.sat4j.reader.csp.RangeDomain$1 org.sat4j.reader.csp.SingletonDomain org.sat4j.reader.csp.SingletonDomain$1 org.sat4j.reader.csp.Var org.sat4j.reader.csp.WalshSupports | org.sat4j.reader | java.io java.lang java.net java.util org.mozilla.javascript org.sat4j.core org.sat4j.specs |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
14 | 4 | 75.0% | 22.0% | 3.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.specs.IConstr org.sat4j.specs.IOptimizationProblem org.sat4j.specs.IProblem org.sat4j.specs.ISolver org.sat4j.specs.IVec org.sat4j.specs.IVecInt | org.sat4j.specs.ContradictionException org.sat4j.specs.TimeoutException | org.sat4j org.sat4j.core org.sat4j.minisat org.sat4j.minisat.constraints org.sat4j.minisat.constraints.card org.sat4j.minisat.constraints.cnf org.sat4j.minisat.constraints.pb org.sat4j.minisat.core org.sat4j.minisat.orders org.sat4j.minisat.uip org.sat4j.opt org.sat4j.reader org.sat4j.reader.csp org.sat4j.tools | java.io java.lang java.math java.util |
Afferent Couplings | Efferent Couplings | Abstractness | Instability | Distance |
---|---|---|---|---|
4 | 6 | 8.0% | 60.000004% | 32.0% |
Abstract Classes | Concrete Classes | Used by Packages | Uses Packages |
---|---|---|---|
org.sat4j.tools.SolverDecorator | org.sat4j.tools.DimacsArrayReader org.sat4j.tools.DimacsArrayToDimacsConverter org.sat4j.tools.DimacsOutputSolver org.sat4j.tools.ExtendedDimacsArrayReader org.sat4j.tools.ExtendedDimacsArrayToDimacsConverter org.sat4j.tools.GateTranslator org.sat4j.tools.Minimal4CardinalityModel org.sat4j.tools.Minimal4InclusionModel org.sat4j.tools.ModelIterator org.sat4j.tools.RemiUtils org.sat4j.tools.SingleSolutionDetector org.sat4j.tools.SolutionCounter | org.sat4j org.sat4j.minisat org.sat4j.opt org.sat4j.reader | java.io java.lang java.math java.util org.sat4j.core org.sat4j.specs |
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. |