| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| HE: net.sf.jour.statistic.MillisecondsPeriod defines equals but not hashCode | 0 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| NP: Possible null pointer dereference in net.sf.jour.rt.agent.AsyncEventWriter.close(Thread) | 121 |
| Violation | Line |
|---|---|
| Dm: net.sf.jour.rt.agent.BulkEventFileReader.process(java.io.File) invokes dubious Boolean constructor; use Boolean.valueOf(...) instead | 86 |
| Violation | Line |
|---|---|
| UCF: Useless control flow in net.sf.jour.rt.agent.BulkEventLog4jWriter.close() | 62 |
| Violation | Line |
|---|---|
| SC: net.sf.jour.rt.agent.EventProcessor.<init>() invokes java.lang.Thread.start() | 72 |
| Violation | Line |
|---|---|
| DC: Possible doublecheck on net.sf.jour.rt.agent.InstrumentationMap.instance in net.sf.jour.rt.agent.InstrumentationMap.instance() | 82 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| Dm: net.sf.jour.rt.swingmonitor.InstanceCounterPanel.actionPerformed(java.awt.event.ActionEvent) forces garbage collection; extremely dubious except in benchmarking code | 121 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| UI: Usage of GetResource in net.sf.jour.rt.swingmonitor.SwingMonitor.<init>(String,boolean) may be unsafe if class is extended | 70 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| UI: Usage of GetResource in net.sf.jour.config.impl.runtime.GrammarInfoImpl.getGrammar() may be unsafe if class is extended | 132 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| SC: net.sf.jour.rt.swingmonitor.ui.StatusBar.<init>() invokes java.lang.Thread.start() | 70 |
| Violation | Line |
|---|---|
| UI: Usage of GetResource in net.sf.jour.rt.view.config.impl.runtime.GrammarInfoImpl.getGrammar() may be unsafe if class is extended | 132 |
| Violation | Line |
|---|---|
| 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 |
| Violation | Line |
|---|---|
| MS: net.sf.jour.timer.NativeTimer.triedToLoadAlredy should be package protected | 0 |
| MS: net.sf.jour.timer.NativeTimer.libraryAvailable should be package protected | 0 |
| Violation | Line |
|---|---|
| MS: net.sf.jour.util.ShutdownHook.instance should be package protected | 0 |
| Violation | Line |
|---|---|
| MS: net.sf.jour.rt.agent.Elog.ON isn't final and can't be protected malicious code | 0 |
| Violation | Line |
|---|---|
| UwF: Unwritten field: net.sf.jour.ProfilerEvent.eventType | 0 |
| UwF: Unwritten field: net.sf.jour.ProfilerEvent.identifier | 0 |
| Violation | Line |
|---|---|
| UwF: Unwritten field: net.sf.jour.rt.agent.ThreadNumber.description | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.agent.AsyncEventWriter$QueueItem be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.agent.BulkEventFileReader$BinFilenameFilter be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.swingmonitor.InstanceCounter$Counter be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.swingmonitor.InstanceCounterPanel$InstanceCounterTableModel be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.swingmonitor.MethodExecutionPanel$DoubleCellRenderer be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.swingmonitor.MethodExecutionPanel$MethodExecutionTableModel be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| SIC: Should net.sf.jour.rt.view.ClassMatchFilter$MethodsFilter be a _static_ inner class? | 0 |
| Violation | Line |
|---|---|
| UrF: Unread field: net.sf.jour.rt.view.ReplacementExpression.substitution | 0 |
| Violation | Line |
|---|---|
| UrF: Unread field: net.sf.jour.util.PropertiesBase.isDynamic | 0 |