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 |
---|---|---|---|---|
Method org.sat4j.sat.CleanCommandComponent.createPanel() invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 109 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode new org.sat4j.sat.DetailedCommandPanel(String, String, String[], RemoteControlFrame) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.sat.DetailedCommandPanel.commandLines | MALICIOUS_CODE | EI_EXPOSE_REP2 | 256 | Medium |
Appel à une méthode non virtuelle dans new org.sat4j.sat.DetailedCommandPanel(String, String, RemoteControlFrame) passant null à un paramètre déréférencé inconditionnellement dans new org.sat4j.sat.DetailedCommandPanel(String, String, String[], RemoteControlFrame) | CORRECTNESS | NP_NULL_PARAM_DEREF_NONVIRTUAL | 239 | High |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.outSolutionFound non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.randomWalk non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.solverVisu non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.solveurThread non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.stringWriter non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
La classe org.sat4j.sat.DetailedCommandPanel définit le champ d'instance org.sat4j.sat.DetailedCommandPanel.visuPreferences non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low | |
org.sat4j.pb.orders.RandomWalkDecoratorObjective est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.randomWalk | BAD_PRACTICE | SE_BAD_FIELD_STORE | 625 | Medium |
org.sat4j.pb.orders.RandomWalkDecoratorObjective est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.randomWalk | BAD_PRACTICE | SE_BAD_FIELD_STORE | 705 | Medium |
org.sat4j.sat.visu.GnuplotBasedSolverVisualisation est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.solverVisu | BAD_PRACTICE | SE_BAD_FIELD_STORE | 843 | Medium |
org.sat4j.sat.visu.JChartBasedSolverVisualisation est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.solverVisu | BAD_PRACTICE | SE_BAD_FIELD_STORE | 355 | Medium |
org.sat4j.sat.visu.JChartBasedSolverVisualisation est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.solverVisu | BAD_PRACTICE | SE_BAD_FIELD_STORE | 931 | Medium |
org.sat4j.sat.DetailedCommandPanel$9 est stocké dans le champ non transient org.sat4j.sat.DetailedCommandPanel.solveurThread | BAD_PRACTICE | SE_BAD_FIELD_STORE | 791 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.sat.Lanceur.run(String[]) invoque System.exit(...), qui stoppe toute la JVM | BAD_PRACTICE | DM_EXIT | 419 | Medium |
La méthode org.sat4j.sat.Lanceur.configureSolver(String[]) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appelé | STYLE | REC_CATCH_EXCEPTION | 152 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in org.sat4j.sat.LaunchRemoteControl.main(String[]) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 75 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.sat.RTSI.findnames(String, Class) invoque le constructeur inutile String(String) ; utilisez juste l'argument | PERFORMANCE | DM_STRING_CTOR | 106 | Medium |
org.sat4j.sat.RTSI.alreadySeenPckges devrait être package protected | MALICIOUS_CODE | MS_PKGPROTECT | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode new org.sat4j.sat.RemoteControlFrame(String, String, String[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.sat4j.sat.RemoteControlFrame.args | MALICIOUS_CODE | EI_EXPOSE_REP2 | 106 | Medium |
La classe org.sat4j.sat.RemoteControlFrame définit le champ d'instance org.sat4j.sat.RemoteControlFrame.randomWalk non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.sat.RemoteControlFrame$5.actionPerformed(ActionEvent) invoque System.exit(...), qui stoppe toute la JVM | BAD_PRACTICE | DM_EXIT | 291 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.sat.RemoteControlStrategy définit le champ d'instance org.sat4j.sat.RemoteControlStrategy.logger non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Alimentation à perte d'une variable locale dans la méthode org.sat4j.sat.RestartCommandComponent.hasClickedOnChange() | STYLE | DLS_DEAD_LOCAL_STORE | 193 | Low |
Alimentation à perte d'une variable locale dans la méthode org.sat4j.sat.RestartCommandComponent.hasClickedOnChange() | STYLE | DLS_DEAD_LOCAL_STORE | 191 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.sat.Solvers.configureSolver(String[], ICDCLLogger) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appelé | STYLE | REC_CATCH_EXCEPTION | 320 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Résultat d'une division entière transtypé en nombre flottant à double précision dans org.sat4j.sat.visu.GnuplotBasedSolverVisualisation.traceGnuplot() | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 289 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.sat.visu.GnuplotBasedSolverVisualisation$1.run() invoque String.toUpperCase() ou String.toLowerCase ; utilisez plutôt la version acceptant une Locale | I18N | DM_CONVERT_CASE | 329 | Low |
La méthode org.sat4j.sat.visu.GnuplotBasedSolverVisualisation$1.run() peut ne pas fermer un flux | BAD_PRACTICE | OS_OPEN_STREAM | 321 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.sat.visu.JChartBasedSolverVisualisation$1 pourrait-être transformée en classe interne static | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | 1 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.sat4j.sat.visu.TraceComposite defines compareTo(Object) and uses Object.equals() | BAD_PRACTICE | EQ_COMPARETO_USE_OBJECT_EQUALS | 1 | Medium |
La méthode org.sat4j.sat.visu.TraceComposite.getPropertyChangeListeners(String) devrait-elle renvoyer un tableau vide plutôt que null ? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 185 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La méthode org.sat4j.sat.visu.VisuPreferences.generatePlotLine(GnuplotDataFile[], GnuplotFunction[], String, boolean, int) concatène des chaînes au moyen de + en boucle | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 323 | Medium |
La méthode org.sat4j.sat.visu.VisuPreferences.generatePlotLineOnDifferenteAxes(GnuplotDataFile[], GnuplotDataFile[], GnuplotFunction[], boolean, int) concatène des chaînes au moyen de + en boucle | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 383 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
La classe org.sat4j.sat.visu.VisuPreferencesFrame définit le champ d'instance org.sat4j.sat.visu.VisuPreferencesFrame.preferences non transient et non sérialisable | BAD_PRACTICE | SE_BAD_FIELD | Low |