FindBugs Results

The following document contains the results of FindBugs.

Summary

FilesErrors
3552

Files

FilesViolations
net.sf.jour.Interceptor 1
net.sf.jour.PreProcessor 2
net.sf.jour.statistic.MillisecondsPeriod 1
net.sf.jour.util.FileUtil 2
net.sf.jour.rt.agent.AsyncEventWriter 1
net.sf.jour.rt.agent.BulkEventFileReader 1
net.sf.jour.rt.agent.BulkEventLog4jWriter 1
net.sf.jour.rt.agent.EventProcessor 1
net.sf.jour.rt.agent.InstrumentationMap 1
net.sf.jour.rt.agent.ProfilerEvent 3
net.sf.jour.rt.swingmonitor.InstanceCounterPanel 1
net.sf.jour.rt.swingmonitor.MethodExceutionStatistics 4
net.sf.jour.rt.swingmonitor.SwingMonitor 1
net.sf.jour.rt.swingmonitor.TableSorter 2
net.sf.jour.rt.view.ViewFilter 2
net.sf.jour.config.impl.runtime.GrammarInfoImpl 1
net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl 4
net.sf.jour.rt.swingmonitor.ui.StatusBar 1
net.sf.jour.rt.view.config.impl.runtime.GrammarInfoImpl 1
net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl 4
net.sf.jour.timer.NativeTimer 2
net.sf.jour.util.ShutdownHook 1
net.sf.jour.rt.agent.Elog 1
net.sf.jour.ProfilerEvent 2
net.sf.jour.rt.agent.ThreadNumber 1
net.sf.jour.Config 1
net.sf.jour.rt.agent.AsyncEventWriter$QueueItem 1
net.sf.jour.rt.agent.BulkEventFileReader$BinFilenameFilter 1
net.sf.jour.rt.swingmonitor.InstanceCounter$Counter 1
net.sf.jour.rt.swingmonitor.InstanceCounterPanel$InstanceCounterTableModel 1
net.sf.jour.rt.swingmonitor.MethodExecutionPanel$DoubleCellRenderer 1
net.sf.jour.rt.swingmonitor.MethodExecutionPanel$MethodExecutionTableModel 1
net.sf.jour.rt.view.ClassMatchFilter$MethodsFilter 1
net.sf.jour.rt.view.ReplacementExpression 1
net.sf.jour.util.PropertiesBase 1

net.sf.jour.Interceptor

ViolationLine
EI2: net.sf.jour.Interceptor.<init>(javassist.ClassPool,String,net.sf.jour.instrumentor.Instrumentor[]) may expose internal representation by storing an externally mutable object into net/sf/jour/Interceptor.instrumentors 76

net.sf.jour.PreProcessor

ViolationLine
SBSC: Method net.sf.jour.PreProcessor.processDirectory(java.io.File) concatenates strings using + in a loop 172
MS: net.sf.jour.PreProcessor.startTime isn't final but should be 0

net.sf.jour.statistic.MillisecondsPeriod

ViolationLine
HE: net.sf.jour.statistic.MillisecondsPeriod defines equals but not hashCode 0

net.sf.jour.util.FileUtil

ViolationLine
SnVI: net.sf.jour.util.FileUtil is Serializable; consider declaring a serialVersionUID 0
OS: net.sf.jour.util.FileUtil.readTextFile(java.io.File,java.util.HashSet) may fail to close stream 99

net.sf.jour.rt.agent.AsyncEventWriter

ViolationLine
NP: Possible null pointer dereference in net.sf.jour.rt.agent.AsyncEventWriter.close(Thread) 121

net.sf.jour.rt.agent.BulkEventFileReader

ViolationLine
Dm: net.sf.jour.rt.agent.BulkEventFileReader.process(java.io.File) invokes dubious Boolean constructor; use Boolean.valueOf(...) instead 86

net.sf.jour.rt.agent.BulkEventLog4jWriter

ViolationLine
UCF: Useless control flow in net.sf.jour.rt.agent.BulkEventLog4jWriter.close() 62

net.sf.jour.rt.agent.EventProcessor

ViolationLine
SC: net.sf.jour.rt.agent.EventProcessor.<init>() invokes java.lang.Thread.start() 72

net.sf.jour.rt.agent.InstrumentationMap

ViolationLine
DC: Possible doublecheck on net.sf.jour.rt.agent.InstrumentationMap.instance in net.sf.jour.rt.agent.InstrumentationMap.instance() 82

net.sf.jour.rt.agent.ProfilerEvent

ViolationLine
Dm: net.sf.jour.rt.agent.ProfilerEvent.getMethodID() invokes dubious new String(String) constructor; just use the argument 164
UCF: Useless control flow in net.sf.jour.rt.agent.ProfilerEvent.<init>(int,Throwable,EventIdentifier) 77
MS: net.sf.jour.rt.agent.ProfilerEvent.counter should be package protected 0

net.sf.jour.rt.swingmonitor.InstanceCounterPanel

ViolationLine
Dm: net.sf.jour.rt.swingmonitor.InstanceCounterPanel.actionPerformed(java.awt.event.ActionEvent) forces garbage collection; extremely dubious except in benchmarking code 121

net.sf.jour.rt.swingmonitor.MethodExceutionStatistics

ViolationLine
SnVI: net.sf.jour.rt.swingmonitor.MethodExceutionStatistics is Serializable; consider declaring a serialVersionUID 0
Se: Class net.sf.jour.rt.swingmonitor.MethodExceutionStatistics defines non-transient non-serializable instance field net.sf.jour.rt.swingmonitor.MethodExceutionStatistics.viewFilter 0
Se: Class net.sf.jour.rt.swingmonitor.MethodExceutionStatistics defines non-transient non-serializable instance field net.sf.jour.rt.swingmonitor.MethodExceutionStatistics.totals 0
MS: net.sf.jour.rt.swingmonitor.MethodExceutionStatistics.columnNames should be package protected 0

net.sf.jour.rt.swingmonitor.SwingMonitor

ViolationLine
UI: Usage of GetResource in net.sf.jour.rt.swingmonitor.SwingMonitor.<init>(String,boolean) may be unsafe if class is extended 70

net.sf.jour.rt.swingmonitor.TableSorter

ViolationLine
SnVI: net.sf.jour.rt.swingmonitor.TableSorter is Serializable; consider declaring a serialVersionUID 0
Se: Class net.sf.jour.rt.swingmonitor.TableSorter defines non-transient non-serializable instance field net.sf.jour.rt.swingmonitor.TableSorter.viewToModel 0

net.sf.jour.rt.view.ViewFilter

ViolationLine
DC: Possible doublecheck on net.sf.jour.rt.view.ViewFilter.isInitialized in net.sf.jour.rt.view.ViewFilter.isInitialized() 71
IS2: Inconsistent synchronization of net.sf.jour.rt.view.ViewFilter.isInitialized; locked 66% of time 71

net.sf.jour.config.impl.runtime.GrammarInfoImpl

ViolationLine
UI: Usage of GetResource in net.sf.jour.config.impl.runtime.GrammarInfoImpl.getGrammar() may be unsafe if class is extended 132

net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl

ViolationLine
RCN: Redundant comparison to null in net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl.getAllPrefixesInList(String) 308
RCN: Redundant comparison to null in net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl.getPrefix(String) 325
RCN: Redundant comparison to null in net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl.getNamespaceURI(String) 340
SBSC: Method net.sf.jour.config.impl.runtime.SAXUnmarshallerHandlerImpl.computeExpectedRootElements() concatenates strings using + in a loop 608

net.sf.jour.rt.swingmonitor.ui.StatusBar

ViolationLine
SC: net.sf.jour.rt.swingmonitor.ui.StatusBar.<init>() invokes java.lang.Thread.start() 70

net.sf.jour.rt.view.config.impl.runtime.GrammarInfoImpl

ViolationLine
UI: Usage of GetResource in net.sf.jour.rt.view.config.impl.runtime.GrammarInfoImpl.getGrammar() may be unsafe if class is extended 132

net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl

ViolationLine
RCN: Redundant comparison to null in net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl.getAllPrefixesInList(String) 308
RCN: Redundant comparison to null in net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl.getPrefix(String) 325
RCN: Redundant comparison to null in net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl.getNamespaceURI(String) 340
SBSC: Method net.sf.jour.rt.view.config.impl.runtime.SAXUnmarshallerHandlerImpl.computeExpectedRootElements() concatenates strings using + in a loop 608

net.sf.jour.timer.NativeTimer

ViolationLine
MS: net.sf.jour.timer.NativeTimer.triedToLoadAlredy should be package protected 0
MS: net.sf.jour.timer.NativeTimer.libraryAvailable should be package protected 0

net.sf.jour.util.ShutdownHook

ViolationLine
MS: net.sf.jour.util.ShutdownHook.instance should be package protected 0

net.sf.jour.rt.agent.Elog

ViolationLine
MS: net.sf.jour.rt.agent.Elog.ON isn't final and can't be protected malicious code 0

net.sf.jour.ProfilerEvent

ViolationLine
UwF: Unwritten field: net.sf.jour.ProfilerEvent.eventType 0
UwF: Unwritten field: net.sf.jour.ProfilerEvent.identifier 0

net.sf.jour.rt.agent.ThreadNumber

ViolationLine
UwF: Unwritten field: net.sf.jour.rt.agent.ThreadNumber.description 0

net.sf.jour.Config

ViolationLine
UrF: Unread field: net.sf.jour.Config.isDebug 0

net.sf.jour.rt.agent.AsyncEventWriter$QueueItem

ViolationLine
SIC: Should net.sf.jour.rt.agent.AsyncEventWriter$QueueItem be a _static_ inner class? 0

net.sf.jour.rt.agent.BulkEventFileReader$BinFilenameFilter

ViolationLine
SIC: Should net.sf.jour.rt.agent.BulkEventFileReader$BinFilenameFilter be a _static_ inner class? 0

net.sf.jour.rt.swingmonitor.InstanceCounter$Counter

ViolationLine
SIC: Should net.sf.jour.rt.swingmonitor.InstanceCounter$Counter be a _static_ inner class? 0

net.sf.jour.rt.swingmonitor.InstanceCounterPanel$InstanceCounterTableModel

ViolationLine
SIC: Should net.sf.jour.rt.swingmonitor.InstanceCounterPanel$InstanceCounterTableModel be a _static_ inner class? 0

net.sf.jour.rt.swingmonitor.MethodExecutionPanel$DoubleCellRenderer

ViolationLine
SIC: Should net.sf.jour.rt.swingmonitor.MethodExecutionPanel$DoubleCellRenderer be a _static_ inner class? 0

net.sf.jour.rt.swingmonitor.MethodExecutionPanel$MethodExecutionTableModel

ViolationLine
SIC: Should net.sf.jour.rt.swingmonitor.MethodExecutionPanel$MethodExecutionTableModel be a _static_ inner class? 0

net.sf.jour.rt.view.ClassMatchFilter$MethodsFilter

ViolationLine
SIC: Should net.sf.jour.rt.view.ClassMatchFilter$MethodsFilter be a _static_ inner class? 0

net.sf.jour.rt.view.ReplacementExpression

ViolationLine
UrF: Unread field: net.sf.jour.rt.view.ReplacementExpression.substitution 0

net.sf.jour.util.PropertiesBase

ViolationLine
UrF: Unread field: net.sf.jour.util.PropertiesBase.isDynamic 0