FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is low

Effort is min

Summary

ClassesBugsErrorsMissing Classes
2168500

Files

ClassBugs
org.sat4j.MUSLauncher1
org.sat4j.core.ReadOnlyVecInt1
org.sat4j.core.Vec3
org.sat4j.core.VecInt5
org.sat4j.minisat.constraints.cnf.Lits1
org.sat4j.minisat.core.Heap1
org.sat4j.minisat.core.Pair1
org.sat4j.minisat.core.Solver12
org.sat4j.minisat.core.Solver$101
org.sat4j.minisat.core.Solver$21
org.sat4j.minisat.core.Solver$31
org.sat4j.minisat.core.Solver$41
org.sat4j.minisat.core.Solver$51
org.sat4j.minisat.core.Solver$61
org.sat4j.minisat.core.Solver$71
org.sat4j.minisat.core.Solver$81
org.sat4j.minisat.core.Solver$Glucose2LCDS1
org.sat4j.minisat.core.Solver$GlucoseLCDS1
org.sat4j.minisat.learning.ActiveLearning1
org.sat4j.minisat.learning.LimitedLearning1
org.sat4j.minisat.learning.MiniSATLearning1
org.sat4j.minisat.orders.VarOrderHeap1
org.sat4j.opt.AbstractSelectorVariablesDecorator1
org.sat4j.opt.MaxSatDecorator1
org.sat4j.opt.MinOneDecorator3
org.sat4j.reader.EfficientScanner1
org.sat4j.reader.GroupedCNFReader1
org.sat4j.reader.LecteurDimacs1
org.sat4j.tools.ClausalCardinalitiesDecorator2
org.sat4j.tools.ConflictDepthTracing3
org.sat4j.tools.ConflictLevelTracing3
org.sat4j.tools.DecisionLevelTracing1
org.sat4j.tools.DecisionTracing4
org.sat4j.tools.DotSearchTracing1
org.sat4j.tools.HeuristicsTracing1
org.sat4j.tools.LBDTracing2
org.sat4j.tools.LearnedClauseSizeTracing1
org.sat4j.tools.LearnedClausesSizeTracing3
org.sat4j.tools.LearnedTracing1
org.sat4j.tools.LexicoDecorator2
org.sat4j.tools.ManyCore2
org.sat4j.tools.Minimal4CardinalityModel1
org.sat4j.tools.Minimal4InclusionModel1
org.sat4j.tools.MultiTracing1
org.sat4j.tools.SpeedTracing3
org.sat4j.tools.TextOutputTracing1
org.sat4j.tools.encoding.Commander1
org.sat4j.tools.encoding.Product1
org.sat4j.tools.xplain.HighLevelXplain1
org.sat4j.tools.xplain.Xplain2

org.sat4j.MUSLauncher

BugCategoryDetailsLinePriority
Le champ n'est pas initialisé dans le constructeur org.sat4j.MUSLauncher.xplainSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORLow

org.sat4j.core.ReadOnlyVecInt

BugCategoryDetailsLinePriority
La méthode org.sat4j.core.ReadOnlyVecInt.subset(int) devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS199Low

org.sat4j.core.Vec

BugCategoryDetailsLinePriority
Transtypage non vérifié/non confirmé de org.sat4j.core.Vec vers copy dans org.sat4j.core.Vec.copyTo(IVec)STYLEBC_UNCONFIRMED_CAST288Low
La méthode org.sat4j.core.Vec.toArray() risque d'exposer sa représentation interne en renvoyant org.sat4j.core.Vec.myarrayMALICIOUS_CODEEI_EXPOSE_REP321Medium
La méthode new org.sat4j.core.Vec(Object[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.core.Vec.myarrayMALICIOUS_CODEEI_EXPOSE_REP288Medium

org.sat4j.core.VecInt

BugCategoryDetailsLinePriority
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers copy dans org.sat4j.core.VecInt.copyTo(IVecInt)STYLEBC_UNCONFIRMED_CAST380Low
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers dest dans org.sat4j.core.VecInt.moveTo2(IVecInt)STYLEBC_UNCONFIRMED_CAST405Low
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers vec dans org.sat4j.core.VecInt.pushAll(IVecInt)STYLEBC_UNCONFIRMED_CAST625Low
La méthode org.sat4j.core.VecInt.toArray() risque d'exposer sa représentation interne en renvoyant org.sat4j.core.VecInt.myarrayMALICIOUS_CODEEI_EXPOSE_REP681Medium
La méthode new org.sat4j.core.VecInt(int[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.core.VecInt.myarrayMALICIOUS_CODEEI_EXPOSE_REP2236Medium

org.sat4j.minisat.constraints.cnf.Lits

BugCategoryDetailsLinePriority
La classe org.sat4j.minisat.constraints.cnf.Lits définit le champ d'instance org.sat4j.minisat.constraints.cnf.Lits.reason non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.minisat.core.Heap

BugCategoryDetailsLinePriority
La méthode new org.sat4j.minisat.core.Heap(double[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.minisat.core.Heap.activityMALICIOUS_CODEEI_EXPOSE_REP2105Medium

org.sat4j.minisat.core.Pair

BugCategoryDetailsLinePriority
La classe org.sat4j.minisat.core.Pair définit le champ d'instance org.sat4j.minisat.core.Pair.reason non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.minisat.core.Solver

BugCategoryDetailsLinePriority
Transtypage non vérifié/non confirmé de org.sat4j.minisat.core.Constr vers co dans org.sat4j.minisat.core.Solver.removeConstr(IConstr)STYLEBC_UNCONFIRMED_CAST383Low
Transtypage non vérifié/non confirmé de org.sat4j.minisat.core.Constr vers co dans org.sat4j.minisat.core.Solver.removeSubsumedConstr(IConstr)STYLEBC_UNCONFIRMED_CAST404Low
org.sat4j.minisat.core.Solver.reduceDB() force le déclenchement du ramasse-miettes ; extrêmement douteux sauf dans du code de banc d'essaiPERFORMANCEDM_GC1435High
La méthode org.sat4j.minisat.core.Solver.findModel() devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS2213Low
La méthode org.sat4j.minisat.core.Solver.findModel(IVecInt) devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS2222Low
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.out non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.constrTypes non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.order non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.sharedConflict non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow
Switch statement found in org.sat4j.minisat.core.Solver.learn(Constr) where default case is missingSTYLESF_SWITCH_NO_DEFAULT349Low
Switch statement found in org.sat4j.minisat.core.Solver.setLearnedConstraintsDeletionStrategy(ConflictTimer, LearnedConstraintsEvaluationType) where default case is missingSTYLESF_SWITCH_NO_DEFAULT2418Low
Switch statement found in org.sat4j.minisat.core.Solver.setLearnedConstraintsDeletionStrategy(LearnedConstraintsEvaluationType) where default case is missingSTYLESF_SWITCH_NO_DEFAULT2441Low

org.sat4j.minisat.core.Solver$10

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$10 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$2

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$2 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$3

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$3 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$4

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$4 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$5

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$5 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$6

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$6 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$7

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$7 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$8

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$8 is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1Low

org.sat4j.minisat.core.Solver$Glucose2LCDS

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$Glucose2LCDS is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1728Low

org.sat4j.minisat.core.Solver$GlucoseLCDS

BugCategoryDetailsLinePriority
org.sat4j.minisat.core.Solver$GlucoseLCDS is serializable and an inner classBAD_PRACTICESE_INNER_CLASS1641Low

org.sat4j.minisat.learning.ActiveLearning

BugCategoryDetailsLinePriority
La classe org.sat4j.minisat.learning.ActiveLearning définit le champ d'instance org.sat4j.minisat.learning.ActiveLearning.order non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.minisat.learning.LimitedLearning

BugCategoryDetailsLinePriority
Le champ n'est pas initialisé dans le constructeur org.sat4j.minisat.learning.LimitedLearning.statsSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORLow

org.sat4j.minisat.learning.MiniSATLearning

BugCategoryDetailsLinePriority
Le champ n'est pas initialisé dans le constructeur org.sat4j.minisat.learning.MiniSATLearning.dsfSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORLow

org.sat4j.minisat.orders.VarOrderHeap

BugCategoryDetailsLinePriority
La méthode org.sat4j.minisat.orders.VarOrderHeap.getVariableHeuristics() risque d'exposer sa représentation interne en renvoyant org.sat4j.minisat.orders.VarOrderHeap.activityMALICIOUS_CODEEI_EXPOSE_REP245Medium

org.sat4j.opt.AbstractSelectorVariablesDecorator

BugCategoryDetailsLinePriority
La méthode org.sat4j.opt.AbstractSelectorVariablesDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.opt.AbstractSelectorVariablesDecorator.prevmodelMALICIOUS_CODEEI_EXPOSE_REP114Medium

org.sat4j.opt.MaxSatDecorator

BugCategoryDetailsLinePriority
La classe org.sat4j.opt.MaxSatDecorator définit le champ d'instance org.sat4j.opt.MaxSatDecorator.prevConstr non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.opt.MinOneDecorator

BugCategoryDetailsLinePriority
La méthode org.sat4j.opt.MinOneDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.opt.MinOneDecorator.prevmodelMALICIOUS_CODEEI_EXPOSE_REP130Medium
La classe org.sat4j.opt.MinOneDecorator définit le champ d'instance org.sat4j.opt.MinOneDecorator.previousConstr non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
Le champ n'est pas initialisé dans le constructeur org.sat4j.opt.MinOneDecorator.prevmodelSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORLow

org.sat4j.reader.EfficientScanner

BugCategoryDetailsLinePriority
Le champ org.sat4j.reader.EfficientScanner.in est transient mais n'est pas alimenté lors de la désérialisationBAD_PRACTICESE_TRANSIENT_FIELD_NOT_RESTOREDLow

org.sat4j.reader.GroupedCNFReader

BugCategoryDetailsLinePriority
Test de nullité redondant sur une valeur non nulle dans org.sat4j.reader.GroupedCNFReader.readProblemLine()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE70Low

org.sat4j.reader.LecteurDimacs

BugCategoryDetailsLinePriority
Le champ n'est pas initialisé dans le constructeur org.sat4j.reader.LecteurDimacs.inSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORLow

org.sat4j.tools.ClausalCardinalitiesDecorator

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.ClausalCardinalitiesDecorator définit le champ d'instance org.sat4j.tools.ClausalCardinalitiesDecorator.encodingAdapter non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
org.sat4j.tools.encoding.Policy est stocké dans le champ non transient org.sat4j.tools.ClausalCardinalitiesDecorator.encodingAdapterBAD_PRACTICESE_BAD_FIELD_STORE60Medium

org.sat4j.tools.ConflictDepthTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.ConflictDepthTracing définit le champ d'instance org.sat4j.tools.ConflictDepthTracing.conflictDepthCleanVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.ConflictDepthTracing définit le champ d'instance org.sat4j.tools.ConflictDepthTracing.conflictDepthRestartVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.ConflictDepthTracing définit le champ d'instance org.sat4j.tools.ConflictDepthTracing.conflictDepthVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.ConflictLevelTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.ConflictLevelTracing définit le champ d'instance org.sat4j.tools.ConflictLevelTracing.cleanTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.ConflictLevelTracing définit le champ d'instance org.sat4j.tools.ConflictLevelTracing.restartVisuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.ConflictLevelTracing définit le champ d'instance org.sat4j.tools.ConflictLevelTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.DecisionLevelTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.DecisionLevelTracing définit le champ d'instance org.sat4j.tools.DecisionLevelTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.DecisionTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.DecisionTracing définit le champ d'instance org.sat4j.tools.DecisionTracing.cleanVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.DecisionTracing définit le champ d'instance org.sat4j.tools.DecisionTracing.negativeVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.DecisionTracing définit le champ d'instance org.sat4j.tools.DecisionTracing.positiveVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.DecisionTracing définit le champ d'instance org.sat4j.tools.DecisionTracing.restartVisu non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.DotSearchTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.DotSearchTracing définit le champ d'instance org.sat4j.tools.DotSearchTracing.mapping non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.tools.HeuristicsTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.HeuristicsTracing définit le champ d'instance org.sat4j.tools.HeuristicsTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.LBDTracing

BugCategoryDetailsLinePriority
Transtypage non vérifié/non confirmé de org.sat4j.minisat.core.Constr vers confl dans org.sat4j.tools.LBDTracing.conflictFound(IConstr, int, int)STYLEBC_UNCONFIRMED_CAST54Low
La classe org.sat4j.tools.LBDTracing définit le champ d'instance org.sat4j.tools.LBDTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.LearnedClauseSizeTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.LearnedClauseSizeTracing définit le champ d'instance org.sat4j.tools.LearnedClauseSizeTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.LearnedClausesSizeTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.LearnedClausesSizeTracing définit le champ d'instance org.sat4j.tools.LearnedClausesSizeTracing.cleanTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.LearnedClausesSizeTracing définit le champ d'instance org.sat4j.tools.LearnedClausesSizeTracing.restartTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.LearnedClausesSizeTracing définit le champ d'instance org.sat4j.tools.LearnedClausesSizeTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.LearnedTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.LearnedTracing définit le champ d'instance org.sat4j.tools.LearnedTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.LexicoDecorator

BugCategoryDetailsLinePriority
La méthode org.sat4j.tools.LexicoDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.tools.LexicoDecorator.prevfullmodelMALICIOUS_CODEEI_EXPOSE_REP139Medium
La classe org.sat4j.tools.LexicoDecorator définit le champ d'instance org.sat4j.tools.LexicoDecorator.prevConstr non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.tools.ManyCore

BugCategoryDetailsLinePriority
La méthode org.sat4j.tools.ManyCore.findModel() devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS297Low
La méthode org.sat4j.tools.ManyCore.findModel(IVecInt) devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS305Low

org.sat4j.tools.Minimal4CardinalityModel

BugCategoryDetailsLinePriority
Alimentation à perte d'une variable locale dans la méthode org.sat4j.tools.Minimal4CardinalityModel.model()STYLEDLS_DEAD_LOCAL_STORE65Low

org.sat4j.tools.Minimal4InclusionModel

BugCategoryDetailsLinePriority
Alimentation à perte d'une variable locale dans la méthode org.sat4j.tools.Minimal4InclusionModel.model()STYLEDLS_DEAD_LOCAL_STORE70Low

org.sat4j.tools.MultiTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.MultiTracing définit le champ d'instance org.sat4j.tools.MultiTracing.listeners non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.tools.SpeedTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.SpeedTracing définit le champ d'instance org.sat4j.tools.SpeedTracing.cleanVisuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.SpeedTracing définit le champ d'instance org.sat4j.tools.SpeedTracing.restartVisuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium
La classe org.sat4j.tools.SpeedTracing définit le champ d'instance org.sat4j.tools.SpeedTracing.visuTool non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDMedium

org.sat4j.tools.TextOutputTracing

BugCategoryDetailsLinePriority
La classe org.sat4j.tools.TextOutputTracing définit le champ d'instance org.sat4j.tools.TextOutputTracing.mapping non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow

org.sat4j.tools.encoding.Commander

BugCategoryDetailsLinePriority
La méthode privée org.sat4j.tools.encoding.Commander.addAtMost(ISolver, IVecInt, int, int) n'est jamais appeléePERFORMANCEUPM_UNCALLED_PRIVATE_METHOD151Medium

org.sat4j.tools.encoding.Product

BugCategoryDetailsLinePriority
Method org.sat4j.tools.encoding.Product.addAtMostNonOpt(ISolver, IVecInt, int) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR138Medium

org.sat4j.tools.xplain.HighLevelXplain

BugCategoryDetailsLinePriority
La méthode org.sat4j.tools.xplain.HighLevelXplain.model() devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS249Low

org.sat4j.tools.xplain.Xplain

BugCategoryDetailsLinePriority
La méthode org.sat4j.tools.xplain.Xplain.model() devrait-elle renvoyer un tableau vide plutôt que null ?STYLEPZLA_PREFER_ZERO_LENGTH_ARRAYS282Low
La classe org.sat4j.tools.xplain.Xplain définit le champ d'instance org.sat4j.tools.xplain.Xplain.lastConstr non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDLow