FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
3506600

Files

ClassBugs
org.apache.maven.DefaultMaven1
org.apache.maven.artifact.handler.DefaultArtifactHandler1
org.apache.maven.artifact.metadata.AbstractArtifactMetadata1
org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException1
org.apache.maven.artifact.metadata.ArtifactMetadataSource1
org.apache.maven.artifact.metadata.ResolutionGroup1
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata3
org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException1
org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException1
org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter1
org.apache.maven.execution.DefaultMavenExecutionRequest2
org.apache.maven.execution.SettingsAdapter1
org.apache.maven.lifecycle.DefaultLifecycles1
org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry1
org.apache.maven.lifecycle.internal.ConcurrentBuildLogger1
org.apache.maven.lifecycle.internal.LifecycleStarter1
org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder1
org.apache.maven.lifecycle.internal.MojoDescriptorCreator2
org.apache.maven.lifecycle.internal.ThreadLockedArtifact1
org.apache.maven.lifecycle.internal.ThreadOutputMuxer4
org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream1
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping2
org.apache.maven.lifecycle.mapping.Lifecycle1
org.apache.maven.plugin.DefaultBuildPluginManager6
org.apache.maven.plugin.PluginParameterExpressionEvaluator2
org.apache.maven.plugin.internal.DefaultMavenPluginManager8
org.apache.maven.plugin.internal.DefaultPluginManager1
org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException1
org.apache.maven.plugin.version.PluginVersionResolutionException1
org.apache.maven.project.DefaultProjectBuildingHelper1
org.apache.maven.project.DefaultProjectBuildingRequest2
org.apache.maven.project.MavenProject1
org.apache.maven.project.ProjectModelResolver1
org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord1
org.apache.maven.repository.ArtifactTransferEvent2
org.apache.maven.toolchain.DefaultToolchain1
org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader4

org.apache.maven.DefaultMaven

BugCategoryDetailsLinePriority
exceptional return value of java.io.File.mkdirs() ignored in org.apache.maven.DefaultMaven.validateLocalRepository(MavenExecutionRequest)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE500Medium

org.apache.maven.artifact.handler.DefaultArtifactHandler

BugCategoryDetailsLinePriority
Unwritten field: org.apache.maven.artifact.handler.DefaultArtifactHandler.classifierCORRECTNESSUWF_UNWRITTEN_FIELD78Medium

org.apache.maven.artifact.metadata.AbstractArtifactMetadata

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.AbstractArtifactMetadata shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.AbstractArtifactMetadataBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS31-32High

org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalExceptionBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS30-31High

org.apache.maven.artifact.metadata.ArtifactMetadataSource

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ArtifactMetadataSource shadows the simple name of implemented interface org.apache.maven.repository.legacy.metadata.ArtifactMetadataSourceBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_INTERFACENot availableMedium

org.apache.maven.artifact.metadata.ResolutionGroup

BugCategoryDetailsLinePriority
The class name org.apache.maven.artifact.metadata.ResolutionGroup shadows the simple name of the superclass org.apache.maven.repository.legacy.metadata.ResolutionGroupBAD_PRACTICENM_SAME_SIMPLE_NAME_AS_SUPERCLASS37-44High

org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata

BugCategoryDetailsLinePriority
exceptional return value of java.io.File.delete() ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE94Medium
exceptional return value of java.io.File.mkdirs() ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE140Medium
exceptional return value of java.io.File.setLastModified(long) ignored in org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE154Medium

org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException

BugCategoryDetailsLinePriority
Class org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException is not derived from an Exception, even though it is named as suchBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-39Medium

org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException

BugCategoryDetailsLinePriority
Class org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException is not derived from an Exception, even though it is named as suchBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-39Medium

org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter

BugCategoryDetailsLinePriority
Potentially dangerous use of non-short-circuit logic in org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter.include(Artifact)STYLENS_DANGEROUS_NON_SHORT_CIRCUIT50High

org.apache.maven.execution.DefaultMavenExecutionRequest

BugCategoryDetailsLinePriority
org.apache.maven.execution.DefaultMavenExecutionRequest.getStartTime() may expose internal representation by returning DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP272Medium
org.apache.maven.execution.DefaultMavenExecutionRequest.setStartTime(Date) may expose internal representation by storing an externally mutable object into DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP2412Medium

org.apache.maven.execution.SettingsAdapter

BugCategoryDetailsLinePriority
Class org.apache.maven.execution.SettingsAdapter defines non-transient non-serializable instance field runtimeInfoBAD_PRACTICESE_BAD_FIELDNot availableMedium

org.apache.maven.lifecycle.DefaultLifecycles

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.DefaultLifecycles.STANDARD_LIFECYCLES should be package protectedMALICIOUS_CODEMS_PKGPROTECT46Medium

org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry

BugCategoryDetailsLinePriority
Should org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC163-216Medium

org.apache.maven.lifecycle.internal.ConcurrentBuildLogger

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.internal.ConcurrentBuildLogger.toGraph() makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR106Medium

org.apache.maven.lifecycle.internal.LifecycleStarter

BugCategoryDetailsLinePriority
Exception is caught when Exception is not thrown in org.apache.maven.lifecycle.internal.LifecycleStarter.execute(MavenSession)STYLEREC_CATCH_EXCEPTION165Medium

org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder.build(ProjectBuildList, ReactorContext, List, MavenSession, ExecutorService, ReactorBuildStatus) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR146Medium

org.apache.maven.lifecycle.internal.MojoDescriptorCreator

BugCategoryDetailsLinePriority
Possible null pointer dereference of plugin in org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject)CORRECTNESSNP_NULL_ON_SOME_PATH230Medium
org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject) concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION176Medium

org.apache.maven.lifecycle.internal.ThreadLockedArtifact

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.internal.ThreadLockedArtifact defines compareTo(Object) and uses Object.equals()BAD_PRACTICEEQ_COMPARETO_USE_OBJECT_EQUALS41Medium

org.apache.maven.lifecycle.internal.ThreadOutputMuxer

BugCategoryDetailsLinePriority
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING54High
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING144High
Naked notify in org.apache.maven.lifecycle.internal.ThreadOutputMuxer.setThisModuleComplete(ProjectSegment)MT_CORRECTNESSNN_NAKED_NOTIFY195Medium
new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream) invokes Thread.start()MT_CORRECTNESSSC_START_IN_CTOR150Medium

org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream

BugCategoryDetailsLinePriority
Found reliance on default encoding in new org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream(ThreadOutputMuxer, PrintStream): new org.apache.maven.lifecycle.internal.ThreadOutputMuxer$ThreadBoundPrintStream(OutputStream)I18NDM_DEFAULT_ENCODING211High

org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping

BugCategoryDetailsLinePriority
Unwritten field: org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.lifecyclesCORRECTNESSUWF_UNWRITTEN_FIELD46Medium
Unwritten field: org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.phasesCORRECTNESSUWF_UNWRITTEN_FIELD103Medium

org.apache.maven.lifecycle.mapping.Lifecycle

BugCategoryDetailsLinePriority
Unused field: org.apache.maven.lifecycle.mapping.Lifecycle.optionalMojosPERFORMANCEUUF_UNUSED_FIELDNot availableMedium

org.apache.maven.plugin.DefaultBuildPluginManager

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING125High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING137High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING149High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING120High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING132High
Found reliance on default encoding in org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING144High

org.apache.maven.plugin.PluginParameterExpressionEvaluator

BugCategoryDetailsLinePriority
Load of known null value in org.apache.maven.plugin.PluginParameterExpressionEvaluator.evaluate(String, Class)STYLENP_LOAD_OF_KNOWN_NULL_VALUE352Medium
Nullcheck of session at line 84 of value previously dereferenced in new org.apache.maven.plugin.PluginParameterExpressionEvaluator(MavenSession, MojoExecution)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE68Medium

org.apache.maven.plugin.internal.DefaultMavenPluginManager

BugCategoryDetailsLinePriority
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING474High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING485High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING469High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(Class, MavenSession, MojoExecution): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING479High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING613High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): java.io.ByteArrayOutputStream.toString()I18NDM_DEFAULT_ENCODING623High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING608High
Found reliance on default encoding in org.apache.maven.plugin.internal.DefaultMavenPluginManager.populatePluginFields(Object, MojoDescriptor, ClassRealm, PlexusConfiguration, ExpressionEvaluator): new java.io.PrintStream(OutputStream)I18NDM_DEFAULT_ENCODING618High

org.apache.maven.plugin.internal.DefaultPluginManager

BugCategoryDetailsLinePriority
Exception is caught when Exception is not thrown in org.apache.maven.plugin.internal.DefaultPluginManager.getPluginDescriptorForPrefix(String)STYLEREC_CATCH_EXCEPTION194Medium

org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException

BugCategoryDetailsLinePriority
org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException.format(LocalRepository, List) concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION55Medium

org.apache.maven.plugin.version.PluginVersionResolutionException

BugCategoryDetailsLinePriority
org.apache.maven.plugin.version.PluginVersionResolutionException.format(LocalRepository, List) concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION97Medium

org.apache.maven.project.DefaultProjectBuildingHelper

BugCategoryDetailsLinePriority
Load of known null value in org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm(MavenProject, Model, ProjectBuildingRequest)STYLENP_LOAD_OF_KNOWN_NULL_VALUE245Medium

org.apache.maven.project.DefaultProjectBuildingRequest

BugCategoryDetailsLinePriority
org.apache.maven.project.DefaultProjectBuildingRequest.getBuildStartTime() may expose internal representation by returning DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP287Medium
org.apache.maven.project.DefaultProjectBuildingRequest.setBuildStartTime(Date) may expose internal representation by storing an externally mutable object into DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP2292Medium

org.apache.maven.project.MavenProject

BugCategoryDetailsLinePriority
Redundant nullcheck of org.apache.maven.project.MavenProject.getBuild(), which is known to be non-null in org.apache.maven.project.MavenProject.getDefaultGoal()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE1730Medium

org.apache.maven.project.ProjectModelResolver

BugCategoryDetailsLinePriority
Unread field: org.apache.maven.project.ProjectModelResolver.context; should this field be static?PERFORMANCESS_SHOULD_BE_STATIC60Medium

org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord

BugCategoryDetailsLinePriority
Should org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC214-290Medium

org.apache.maven.repository.ArtifactTransferEvent

BugCategoryDetailsLinePriority
org.apache.maven.repository.ArtifactTransferEvent.getDataBuffer() may expose internal representation by returning ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP218Medium
org.apache.maven.repository.ArtifactTransferEvent.setDataBuffer(byte[]) may expose internal representation by storing an externally mutable object into ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP2223Medium

org.apache.maven.toolchain.DefaultToolchain

BugCategoryDetailsLinePriority
org.apache.maven.toolchain.DefaultToolchain.matchesRequirements(Map) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR91Medium

org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader

BugCategoryDetailsLinePriority
Dead store to parsed in org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.parsePersistedToolchains(XmlPullParser, boolean)STYLEDLS_DEAD_LOCAL_STORE811High
Redundant nullcheck of toolchains, which is known to be non-null in org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.parsePersistedToolchains(XmlPullParser, boolean)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE817Medium
Private method org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getBooleanValue(String, String, XmlPullParser) is never calledPERFORMANCEUPM_UNCALLED_PRIVATE_METHOD153Medium
Private method org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getDateValue(String, String, XmlPullParser) is never calledPERFORMANCEUPM_UNCALLED_PRIVATE_METHOD241Medium