The following document contains the results of FindBugs Report
FindBugs Version is 1.3.9
Threshold is low
Effort is min
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Le champ n'est pas initialisé dans le constructeur org.sat4j.MUSLauncher.xplain | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.core.ReadOnlyVecInt.subset(int) devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 197 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Transtypage non vérifié/non confirmé de org.sat4j.core.Vec vers copy dans org.sat4j.core.Vec.copyTo(IVec) | STYLE | BC_UNCONFIRMED_CAST | 286 | Low |
La méthode org.sat4j.core.Vec.toArray() risque d'exposer sa représentation interne en renvoyant org.sat4j.core.Vec.myarray | MALICIOUS_CODE | EI_EXPOSE_REP | 318 | Medium |
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.myarray | MALICIOUS_CODE | EI_EXPOSE_REP2 | 86 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers copy dans org.sat4j.core.VecInt.copyTo(IVecInt) | STYLE | BC_UNCONFIRMED_CAST | 375 | Low |
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers dest dans org.sat4j.core.VecInt.moveTo2(IVecInt) | STYLE | BC_UNCONFIRMED_CAST | 399 | Low |
Transtypage non vérifié/non confirmé de org.sat4j.core.VecInt vers vec dans org.sat4j.core.VecInt.pushAll(IVecInt) | STYLE | BC_UNCONFIRMED_CAST | 617 | Low |
La méthode org.sat4j.core.VecInt.toArray() risque d'exposer sa représentation interne en renvoyant org.sat4j.core.VecInt.myarray | MALICIOUS_CODE | EI_EXPOSE_REP | 670 | Medium |
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.myarray | MALICIOUS_CODE | EI_EXPOSE_REP2 | 234 | Medium |
Double assignment of field VecInt.nbelem in org.sat4j.core.VecInt.moveTo2(IVecInt) | CORRECTNESS | SA_FIELD_DOUBLE_ASSIGNMENT | 406 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
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érialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
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.activity | MALICIOUS_CODE | EI_EXPOSE_REP2 | 102 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.minisat.core.Pair définit le champ d'instance org.sat4j.minisat.core.Pair.reason non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Transtypage non vérifié/non confirmé de org.sat4j.minisat.core.Constr vers co dans org.sat4j.minisat.core.Solver.removeConstr(IConstr) | STYLE | BC_UNCONFIRMED_CAST | 362 | Low |
Transtypage non vérifié/non confirmé de org.sat4j.minisat.core.Constr vers co dans org.sat4j.minisat.core.Solver.removeSubsumedConstr(IConstr) | STYLE | BC_UNCONFIRMED_CAST | 383 | Low |
org.sat4j.minisat.core.Solver.reduceDB() force le déclenchement du ramasse-miettes ; extrêmement douteux sauf dans du code de banc d'essai | PERFORMANCE | DM_GC | 1290 | High |
La méthode org.sat4j.minisat.core.Solver.findModel() devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 1964 | Low |
La méthode org.sat4j.minisat.core.Solver.findModel(IVecInt) devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 1973 | Low |
La méthode org.sat4j.minisat.core.Solver.setSimplifier(String) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appelé | STYLE | REC_CATCH_EXCEPTION | 747 | Low |
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.constrTypes non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.minisat.core.Solver définit le champ d'instance org.sat4j.minisat.core.Solver.order non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
Switch statement found in org.sat4j.minisat.core.Solver.learn(Constr) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 328 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$2 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$3 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$4 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$5 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$6 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$7 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.minisat.core.Solver$9 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.minisat.learning.ActiveLearning définit le champ d'instance org.sat4j.minisat.learning.ActiveLearning.order non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Le champ n'est pas initialisé dans le constructeur org.sat4j.minisat.learning.LimitedLearning.stats | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Le champ n'est pas initialisé dans le constructeur org.sat4j.minisat.learning.MiniSATLearning.dsf | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.opt.AbstractSelectorVariablesDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.opt.AbstractSelectorVariablesDecorator.prevmodel | MALICIOUS_CODE | EI_EXPOSE_REP | 112 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.opt.MaxSatDecorator définit le champ d'instance org.sat4j.opt.MaxSatDecorator.prevConstr non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.opt.MinOneDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.opt.MinOneDecorator.prevmodel | MALICIOUS_CODE | EI_EXPOSE_REP | 128 | Medium |
La classe org.sat4j.opt.MinOneDecorator définit le champ d'instance org.sat4j.opt.MinOneDecorator.previousConstr non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
Le champ n'est pas initialisé dans le constructeur org.sat4j.opt.MinOneDecorator.prevmodel | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Le champ org.sat4j.reader.EfficientScanner.in est transient mais n'est pas alimenté lors de la désérialisation | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Test de nullité redondant sur une valeur non nulle dans org.sat4j.reader.GroupedCNFReader.readProblemLine() | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 41 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Le champ n'est pas initialisé dans le constructeur org.sat4j.reader.LecteurDimacs.in | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.ClausalCardinalitiesDecorator définit le champ d'instance org.sat4j.tools.ClausalCardinalitiesDecorator.encodingAdapter non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
org.sat4j.tools.encoding.Policy est stocké dans le champ non transient org.sat4j.tools.ClausalCardinalitiesDecorator.encodingAdapter | BAD_PRACTICE | SE_BAD_FIELD_STORE | 58 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.ConflictLevelTracing définit le champ d'instance org.sat4j.tools.ConflictLevelTracing.out non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.DecisionLevelTracing définit le champ d'instance org.sat4j.tools.DecisionLevelTracing.out non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.DecisionTracing définit le champ d'instance org.sat4j.tools.DecisionTracing.out non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.DotSearchTracing définit le champ d'instance org.sat4j.tools.DotSearchTracing.mapping non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.LearnedClauseSizeTracing définit le champ d'instance org.sat4j.tools.LearnedClauseSizeTracing.out non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.tools.LexicoDecorator.model() risque d'exposer sa représentation interne en renvoyant org.sat4j.tools.LexicoDecorator.prevfullmodel | MALICIOUS_CODE | EI_EXPOSE_REP | 136 | Medium |
La classe org.sat4j.tools.LexicoDecorator définit le champ d'instance org.sat4j.tools.LexicoDecorator.prevConstr non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode new org.sat4j.tools.ManyCore(ASolverFactory, String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.tools.ManyCore.availableSolvers | MALICIOUS_CODE | EI_EXPOSE_REP2 | 71 | Medium |
Synchronisation incohérente de org.sat4j.tools.ManyCore.resultFound; verrouillée à 50% | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 308 | Medium |
La méthode org.sat4j.tools.ManyCore.findModel() devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 273 | Low |
La méthode org.sat4j.tools.ManyCore.findModel(IVecInt) devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 281 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Alimentation à perte d'une variable locale dans la méthode org.sat4j.tools.Minimal4CardinalityModel.model() | STYLE | DLS_DEAD_LOCAL_STORE | 63 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Alimentation à perte d'une variable locale dans la méthode org.sat4j.tools.Minimal4InclusionModel.model() | STYLE | DLS_DEAD_LOCAL_STORE | 68 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.tools.TextOutputTracing définit le champ d'instance org.sat4j.tools.TextOutputTracing.mapping non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode privée org.sat4j.tools.encoding.Commander.addAtMost(ISolver, IVecInt, int, int) n'est jamais appelée | PERFORMANCE | UPM_UNCALLED_PRIVATE_METHOD | 148 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Champ inutilisé : org.sat4j.tools.encoding.Policy.binary | PERFORMANCE | URF_UNREAD_FIELD | 46 | Low |
Champ inutilisé : org.sat4j.tools.encoding.Policy.product | PERFORMANCE | URF_UNREAD_FIELD | 47 | Low |
Champ inutilisé : org.sat4j.tools.encoding.Policy.seq | PERFORMANCE | URF_UNREAD_FIELD | 45 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.tools.xplain.HighLevelXplain.model() devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 247 | Low |
La classe org.sat4j.tools.xplain.HighLevelXplain définit le champ d'instance org.sat4j.tools.xplain.HighLevelXplain.xplainStrategy non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
org.sat4j.tools.xplain.DeletionStrategy est stocké dans le champ non transient org.sat4j.tools.xplain.HighLevelXplain.xplainStrategy | BAD_PRACTICE | SE_BAD_FIELD_STORE | 65 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.tools.xplain.Pair defines compareTo(Pair) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 46 | Medium |
Test d'égalité en virgule flottante dans org.sat4j.tools.xplain.Pair.compareTo(Pair). | STYLE | FE_FLOATING_POINT_EQUALITY | 48 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.tools.xplain.Xplain.model() devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 274 | Low |
La classe org.sat4j.tools.xplain.Xplain définit le champ d'instance org.sat4j.tools.xplain.Xplain.lastConstr non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.tools.xplain.Xplain définit le champ d'instance org.sat4j.tools.xplain.Xplain.xplainStrategy non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
org.sat4j.tools.xplain.DeletionStrategy est stocké dans le champ non transient org.sat4j.tools.xplain.Xplain.xplainStrategy | BAD_PRACTICE | SE_BAD_FIELD_STORE | 73 | Medium |