FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is low

Effort is max

Summary

ClassesBugsErrorsMissing Classes
936700

Files

ClassBugs
org.diyefi.openlogviewer.FramesPerSecondPanel4
org.diyefi.openlogviewer.OpenLogViewer4
org.diyefi.openlogviewer.OpenLogViewer$31
org.diyefi.openlogviewer.OpenLogViewer$71
org.diyefi.openlogviewer.decoder.CSVTypeLog3
org.diyefi.openlogviewer.decoder.FreeEMSBin3
org.diyefi.openlogviewer.decoder.LogField3
org.diyefi.openlogviewer.decoder.LogField$types1
org.diyefi.openlogviewer.genericlog.GenericDataElement1
org.diyefi.openlogviewer.genericlog.GenericLog4
org.diyefi.openlogviewer.genericlog.GenericLog$11
org.diyefi.openlogviewer.graphing.EntireGraphingPanel1
org.diyefi.openlogviewer.graphing.EntireGraphingPanel$21
org.diyefi.openlogviewer.graphing.EntireGraphingPanel$31
org.diyefi.openlogviewer.graphing.EntireGraphingPanel$41
org.diyefi.openlogviewer.graphing.GraphPositionPanel1
org.diyefi.openlogviewer.graphing.InfoPanel2
org.diyefi.openlogviewer.graphing.SingleGraphPanel3
org.diyefi.openlogviewer.optionpanel.OptionFrameV29
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel2
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel$11
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane4
org.diyefi.openlogviewer.propertypanel.PropertiesPane9
org.diyefi.openlogviewer.propertypanel.PropertiesPane$31
org.diyefi.openlogviewer.propertypanel.PropertiesPane$41
org.diyefi.openlogviewer.propertypanel.PropertiesPane$PropertyPanel1
org.diyefi.openlogviewer.propertypanel.SingleProperty1
org.diyefi.openlogviewer.subframes.AboutFrame1
org.diyefi.openlogviewer.utils.Utilities1

org.diyefi.openlogviewer.FramesPerSecondPanel

BugCategoryDetailsLinePriority
Write to static field org.diyefi.openlogviewer.FramesPerSecondPanel.currentTime from instance method new org.diyefi.openlogviewer.FramesPerSecondPanel(ResourceBundle)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD83Medium
Write to static field org.diyefi.openlogviewer.FramesPerSecondPanel.thePast from instance method new org.diyefi.openlogviewer.FramesPerSecondPanel(ResourceBundle)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD84Medium
Write to static field org.diyefi.openlogviewer.FramesPerSecondPanel.previousCount from instance method org.diyefi.openlogviewer.FramesPerSecondPanel.actionPerformed(ActionEvent)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD103Medium
Write to static field org.diyefi.openlogviewer.FramesPerSecondPanel.thePast from instance method org.diyefi.openlogviewer.FramesPerSecondPanel.actionPerformed(ActionEvent)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD104Medium

org.diyefi.openlogviewer.OpenLogViewer

BugCategoryDetailsLinePriority
Class org.diyefi.openlogviewer.OpenLogViewer defines non-transient non-serializable instance field decoderInUseBAD_PRACTICESE_BAD_FIELDNot availableLow
Class org.diyefi.openlogviewer.OpenLogViewer defines non-transient non-serializable instance field propertiesBAD_PRACTICESE_BAD_FIELDNot availableLow
org.diyefi.openlogviewer.decoder.CSVTypeLog stored into non-transient field OpenLogViewer.decoderInUseBAD_PRACTICESE_BAD_FIELD_STORE413Medium
org.diyefi.openlogviewer.decoder.FreeEMSBin stored into non-transient field OpenLogViewer.decoderInUseBAD_PRACTICESE_BAD_FIELD_STORE411Medium

org.diyefi.openlogviewer.OpenLogViewer$3

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.OpenLogViewer$3 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON195-199Low

org.diyefi.openlogviewer.OpenLogViewer$7

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.OpenLogViewer$7 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON231-235Low

org.diyefi.openlogviewer.decoder.CSVTypeLog

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.diyefi.openlogviewer.decoder.CSVTypeLog.decodeLog(): new java.io.FileReader(File)I18NDM_DEFAULT_ENCODING84High
Found reliance on default encoding in org.diyefi.openlogviewer.decoder.CSVTypeLog.scanForDelimiter(): new java.io.FileReader(File)I18NDM_DEFAULT_ENCODING123High
new org.diyefi.openlogviewer.decoder.CSVTypeLog(File, ResourceBundle) invokes Thread.start()MT_CORRECTNESSSC_START_IN_CTOR51Low

org.diyefi.openlogviewer.decoder.FreeEMSBin

BugCategoryDetailsLinePriority
Exception is caught when Exception is not thrown in org.diyefi.openlogviewer.decoder.FreeEMSBin.run()STYLEREC_CATCH_EXCEPTION362Medium
new org.diyefi.openlogviewer.decoder.FreeEMSBin(File, ResourceBundle) invokes Thread.start()MT_CORRECTNESSSC_START_IN_CTOR260Low
Unread field: org.diyefi.openlogviewer.decoder.FreeEMSBin.labelsPERFORMANCEURF_UNREAD_FIELD225Low

org.diyefi.openlogviewer.decoder.LogField

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.decoder.LogField.getBitFieldNames() may expose internal representation by returning LogField.bitFieldNamesMALICIOUS_CODEEI_EXPOSE_REP104Medium
new org.diyefi.openlogviewer.decoder.LogField(String, LogField$types, String[]) may expose internal representation by storing an externally mutable object into LogField.bitFieldNamesMALICIOUS_CODEEI_EXPOSE_REP278Medium
org.diyefi.openlogviewer.decoder.LogField.setBitFieldNames(String[]) may expose internal representation by storing an externally mutable object into LogField.bitFieldNamesMALICIOUS_CODEEI_EXPOSE_REP2119Medium

org.diyefi.openlogviewer.decoder.LogField$types

BugCategoryDetailsLinePriority
The class name org.diyefi.openlogviewer.decoder.LogField$types doesn't start with an upper case letterBAD_PRACTICENM_CLASS_NAMING_CONVENTION4-22Medium

org.diyefi.openlogviewer.genericlog.GenericDataElement

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.genericlog.GenericDataElement defines compareTo(GenericDataElement) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS170Medium

org.diyefi.openlogviewer.genericlog.GenericLog

BugCategoryDetailsLinePriority
Result of integer multiplication cast to long in org.diyefi.openlogviewer.genericlog.GenericLog.incrementPosition()STYLEICAST_INTEGER_MULTIPLY_CAST_TO_LONG150Low
Class org.diyefi.openlogviewer.genericlog.GenericLog defines non-transient non-serializable instance field autoLoadBAD_PRACTICESE_BAD_FIELDNot availableMedium
Class org.diyefi.openlogviewer.genericlog.GenericLog defines non-transient non-serializable instance field labelsBAD_PRACTICESE_BAD_FIELDNot availableMedium
org.diyefi.openlogviewer.genericlog.GenericLog$1 stored into non-transient field GenericLog.autoLoadBAD_PRACTICESE_BAD_FIELD_STORE71Medium

org.diyefi.openlogviewer.genericlog.GenericLog$1

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.genericlog.GenericLog$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON71-84Low

org.diyefi.openlogviewer.graphing.EntireGraphingPanel

BugCategoryDetailsLinePriority
Dead store to move in org.diyefi.openlogviewer.graphing.EntireGraphingPanel.moveEntireGraphingPanel(double)STYLEDLS_DEAD_LOCAL_STORE625Low

org.diyefi.openlogviewer.graphing.EntireGraphingPanel$2

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.graphing.EntireGraphingPanel$2 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON806-810Low

org.diyefi.openlogviewer.graphing.EntireGraphingPanel$3

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.graphing.EntireGraphingPanel$3 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON815-819Low

org.diyefi.openlogviewer.graphing.EntireGraphingPanel$4

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.graphing.EntireGraphingPanel$4 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON824-828Low

org.diyefi.openlogviewer.graphing.GraphPositionPanel

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in org.diyefi.openlogviewer.graphing.GraphPositionPanel.paintComponent(Graphics)STYLEBC_UNCONFIRMED_CAST75Low

org.diyefi.openlogviewer.graphing.InfoPanel

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in org.diyefi.openlogviewer.graphing.InfoPanel.paintComponent(Graphics)STYLEBC_UNCONFIRMED_CAST92Low
Class org.diyefi.openlogviewer.graphing.InfoPanel defines non-transient non-serializable instance field labelsBAD_PRACTICESE_BAD_FIELDNot availableLow

org.diyefi.openlogviewer.graphing.SingleGraphPanel

BugCategoryDetailsLinePriority
Dead store to leftOfTraceData in org.diyefi.openlogviewer.graphing.SingleGraphPanel.paintDataPointsAndTraces(Graphics)STYLEDLS_DEAD_LOCAL_STORE122Low
Dead store to traceData in org.diyefi.openlogviewer.graphing.SingleGraphPanel.paintDataPointsAndTraces(Graphics)STYLEDLS_DEAD_LOCAL_STORE123Low
Test for floating point equality in org.diyefi.openlogviewer.graphing.SingleGraphPanel.paintDataPointsAndTraces(Graphics)STYLEFE_FLOATING_POINT_EQUALITY194Low

org.diyefi.openlogviewer.optionpanel.OptionFrameV2

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from java.awt.Container to javax.swing.JPanel of return value in org.diyefi.openlogviewer.optionpanel.OptionFrameV2.remActiveHeaderPanel(ActionEvent)STYLEBC_UNCONFIRMED_CAST_OF_RETURN_VALUE209Low
Class org.diyefi.openlogviewer.optionpanel.OptionFrameV2 defines non-transient non-serializable instance field addRemoveListenerBAD_PRACTICESE_BAD_FIELDNot availableLow
Class org.diyefi.openlogviewer.optionpanel.OptionFrameV2 defines non-transient non-serializable instance field labelAdapterBAD_PRACTICESE_BAD_FIELDNot availableLow
Class org.diyefi.openlogviewer.optionpanel.OptionFrameV2 defines non-transient non-serializable instance field labelsBAD_PRACTICESE_BAD_FIELDNot availableLow
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$1 stored into non-transient field OptionFrameV2.addDivisionListenerBAD_PRACTICESE_BAD_FIELD_STORE100Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$3 stored into non-transient field OptionFrameV2.addRemoveListenerBAD_PRACTICESE_BAD_FIELD_STORE114Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$4 stored into non-transient field OptionFrameV2.labelAdapterBAD_PRACTICESE_BAD_FIELD_STORE257Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$2 stored into non-transient field OptionFrameV2.remDivisionListenerBAD_PRACTICESE_BAD_FIELD_STORE107Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2.updateFromLog(GenericLog) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR324Medium

org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel defines compareTo(Object) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS670-674Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel$1 stored into non-transient field OptionFrameV2$ActiveHeaderLabel.selectedListenerBAD_PRACTICESE_BAD_FIELD_STORE513Medium

org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel$1

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from java.awt.Container to javax.swing.JPanel of return value in org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ActiveHeaderLabel$1.mousePressed(MouseEvent)STYLEBC_UNCONFIRMED_CAST_OF_RETURN_VALUE538Low

org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane$2 stored into non-transient field OptionFrameV2$ModifyGraphPane.applyButtonListenerBAD_PRACTICESE_BAD_FIELD_STORE393Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane$4 stored into non-transient field OptionFrameV2$ModifyGraphPane.colorButtonListenerBAD_PRACTICESE_BAD_FIELD_STORE413Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane$1 stored into non-transient field OptionFrameV2$ModifyGraphPane.resetButtonListenerBAD_PRACTICESE_BAD_FIELD_STORE382Medium
org.diyefi.openlogviewer.optionpanel.OptionFrameV2$ModifyGraphPane$3 stored into non-transient field OptionFrameV2$ModifyGraphPane.saveButtonListenerBAD_PRACTICESE_BAD_FIELD_STORE402Medium

org.diyefi.openlogviewer.propertypanel.PropertiesPane

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.diyefi.openlogviewer.propertypanel.PropertiesPane.loadProperties(): new java.io.FileReader(File)I18NDM_DEFAULT_ENCODING211High
Found reliance on default encoding in org.diyefi.openlogviewer.propertypanel.PropertiesPane.save(): new java.io.FileWriter(File)I18NDM_DEFAULT_ENCODING240High
org.diyefi.openlogviewer.propertypanel.PropertiesPane.loadProperties() may fail to clean up java.io.ReaderEXPERIMENTALOBL_UNSATISFIED_OBLIGATION211Medium
org.diyefi.openlogviewer.propertypanel.PropertiesPane.save() may fail to close stream on exceptionBAD_PRACTICEOS_OPEN_STREAM_EXCEPTION_PATH241Low
Exception is caught when Exception is not thrown in org.diyefi.openlogviewer.propertypanel.PropertiesPane.setupForLoad()STYLEREC_CATCH_EXCEPTION137Low
exceptional return value of java.io.File.createNewFile() ignored in org.diyefi.openlogviewer.propertypanel.PropertiesPane.setupForLoad()BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE134Medium
Class org.diyefi.openlogviewer.propertypanel.PropertiesPane defines non-transient non-serializable instance field labelsBAD_PRACTICESE_BAD_FIELDNot availableLow
Class org.diyefi.openlogviewer.propertypanel.PropertiesPane defines non-transient non-serializable instance field propertiesBAD_PRACTICESE_BAD_FIELDNot availableLow
Class org.diyefi.openlogviewer.propertypanel.PropertiesPane defines non-transient non-serializable instance field removePropertiesBAD_PRACTICESE_BAD_FIELDNot availableLow

org.diyefi.openlogviewer.propertypanel.PropertiesPane$3

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.propertypanel.PropertiesPane$3 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON184-190Low

org.diyefi.openlogviewer.propertypanel.PropertiesPane$4

BugCategoryDetailsLinePriority
The class org.diyefi.openlogviewer.propertypanel.PropertiesPane$4 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANON193-200Low

org.diyefi.openlogviewer.propertypanel.PropertiesPane$PropertyPanel

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.propertypanel.PropertiesPane$PropertyPanel defines compareTo(PropertiesPane$PropertyPanel) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS451Medium

org.diyefi.openlogviewer.propertypanel.SingleProperty

BugCategoryDetailsLinePriority
org.diyefi.openlogviewer.propertypanel.SingleProperty defines compareTo(SingleProperty) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS127Medium

org.diyefi.openlogviewer.subframes.AboutFrame

BugCategoryDetailsLinePriority
Write to static field org.diyefi.openlogviewer.subframes.AboutFrame.aboutFrame from instance method org.diyefi.openlogviewer.subframes.AboutFrame.dispose()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD254Medium

org.diyefi.openlogviewer.utils.Utilities

BugCategoryDetailsLinePriority
Use of non-localized String.toUpperCase() or String.toLowerCase in org.diyefi.openlogviewer.utils.Utilities.getExtension(File)I18NDM_CONVERT_CASE46Low