FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
3504700

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.DefaultLifecycleExecutionPlanCalculator1
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.ThreadOutputMuxer2
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping2
org.apache.maven.lifecycle.mapping.Lifecycle1
org.apache.maven.plugin.PluginParameterExpressionEvaluator1
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.ProjectModelResolver1
org.apache.maven.project.artifact.AttachedArtifact1
org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord1
org.apache.maven.project.artifact.PluginArtifact1
org.apache.maven.project.artifact.ProjectArtifact1
org.apache.maven.repository.ArtifactTransferEvent2
org.apache.maven.toolchain.DefaultToolchain1
org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader3

org.apache.maven.DefaultMaven

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

org.apache.maven.artifact.handler.DefaultArtifactHandler

BugCategoryDetailsLinePriority
Champ jamais écrit : 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
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository) ignores exceptional return value of java.io.File.delete()BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE94Medium
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository) ignores exceptional return value of java.io.File.mkdirs()BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE140Medium
org.apache.maven.artifact.repository.metadata.AbstractRepositoryMetadata.updateRepositoryMetadata(ArtifactRepository, ArtifactRepository) ignores exceptional return value of java.io.File.setLastModified(long)BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE154Medium

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

BugCategoryDetailsLinePriority
La classe org.apache.maven.artifact.repository.metadata.RepositoryMetadataDeploymentException ne dérive pas d'Exception, alors que son nom le sous-entendBAD_PRACTICENM_CLASS_NOT_EXCEPTION32-39Medium

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

BugCategoryDetailsLinePriority
La classe org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException ne dérive pas d'Exception, alors que son nom le sous-entendBAD_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
La méthode org.apache.maven.execution.DefaultMavenExecutionRequest.getStartTime() risque d'exposer sa représentation interne en renvoyant org.apache.maven.execution.DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP272Medium
La méthode org.apache.maven.execution.DefaultMavenExecutionRequest.setStartTime(Date) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.execution.DefaultMavenExecutionRequest.startTimeMALICIOUS_CODEEI_EXPOSE_REP2412Medium

org.apache.maven.execution.SettingsAdapter

BugCategoryDetailsLinePriority
La classe org.apache.maven.execution.SettingsAdapter définit le champ d'instance org.apache.maven.execution.SettingsAdapter.runtimeInfo non transient et non sérialisableBAD_PRACTICESE_BAD_FIELDNot availableMedium

org.apache.maven.lifecycle.DefaultLifecycles

BugCategoryDetailsLinePriority
org.apache.maven.lifecycle.DefaultLifecycles.STANDARD_LIFECYCLES devrait être package protectedMALICIOUS_CODEMS_PKGPROTECT46Medium

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

BugCategoryDetailsLinePriority
La classe org.apache.maven.lifecycle.internal.BuildLogItem$DependencyLogEntry devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC163-216Medium

org.apache.maven.lifecycle.internal.ConcurrentBuildLogger

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.ConcurrentBuildLogger.toGraph() fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR106Medium

org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator

BugCategoryDetailsLinePriority
Champ inutilisé : org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.pluginVersionResolverPERFORMANCEUUF_UNUSED_FIELDNot availableMedium

org.apache.maven.lifecycle.internal.LifecycleStarter

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.LifecycleStarter.execute(MavenSession) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appeléSTYLEREC_CATCH_EXCEPTION165Medium

org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder

BugCategoryDetailsLinePriority
La méthode org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder.build(ProjectBuildList, ReactorContext, List, MavenSession, ExecutorService, ReactorBuildStatus) fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR146Medium

org.apache.maven.lifecycle.internal.MojoDescriptorCreator

BugCategoryDetailsLinePriority
Possible déréférencement d'un pointeur null dans org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject)CORRECTNESSNP_NULL_ON_SOME_PATH230Medium
La méthode org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(String, MavenSession, MavenProject) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_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
Présence d'un notify() isolé dans org.apache.maven.lifecycle.internal.ThreadOutputMuxer.setThisModuleComplete(ProjectSegment)MT_CORRECTNESSNN_NAKED_NOTIFY195Medium
new org.apache.maven.lifecycle.internal.ThreadOutputMuxer(ProjectBuildList, PrintStream) invoque Thread.start()MT_CORRECTNESSSC_START_IN_CTOR150Medium

org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping

BugCategoryDetailsLinePriority
Champ jamais écrit : org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.lifecyclesCORRECTNESSUWF_UNWRITTEN_FIELD46Medium
Champ jamais écrit : org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping.phasesCORRECTNESSUWF_UNWRITTEN_FIELD103Medium

org.apache.maven.lifecycle.mapping.Lifecycle

BugCategoryDetailsLinePriority
Champ inutilisé : org.apache.maven.lifecycle.mapping.Lifecycle.optionalMojosPERFORMANCEUUF_UNUSED_FIELDNot availableMedium

org.apache.maven.plugin.PluginParameterExpressionEvaluator

BugCategoryDetailsLinePriority
Test de nullité dans session d'une valeur préalablement déréférencée dans new org.apache.maven.plugin.PluginParameterExpressionEvaluator(MavenSession, MojoExecution)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE68Medium

org.apache.maven.plugin.internal.DefaultPluginManager

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.internal.DefaultPluginManager.getPluginDescriptorForPrefix(String) intercepte Exception, mais Exception n'est pas lancé dans le bloc try/catch et RuntimeException n'est pas appeléSTYLEREC_CATCH_EXCEPTION194Medium

org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException.format(LocalRepository, List) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION55Medium

org.apache.maven.plugin.version.PluginVersionResolutionException

BugCategoryDetailsLinePriority
La méthode org.apache.maven.plugin.version.PluginVersionResolutionException.format(LocalRepository, List) concatène des chaînes au moyen de + en bouclePERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION97Medium

org.apache.maven.project.DefaultProjectBuildingHelper

BugCategoryDetailsLinePriority
Chargement d'une valeur connue pour être à null dans org.apache.maven.project.DefaultProjectBuildingHelper.createProjectRealm(MavenProject, Model, ProjectBuildingRequest)STYLENP_LOAD_OF_KNOWN_NULL_VALUE245Medium

org.apache.maven.project.DefaultProjectBuildingRequest

BugCategoryDetailsLinePriority
La méthode org.apache.maven.project.DefaultProjectBuildingRequest.getBuildStartTime() risque d'exposer sa représentation interne en renvoyant org.apache.maven.project.DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP287Medium
La méthode org.apache.maven.project.DefaultProjectBuildingRequest.setBuildStartTime(Date) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.project.DefaultProjectBuildingRequest.buildStartTimeMALICIOUS_CODEEI_EXPOSE_REP2292Medium

org.apache.maven.project.ProjectModelResolver

BugCategoryDetailsLinePriority
Champ non lu : org.apache.maven.project.ProjectModelResolver.context devrait-il être statique ?PERFORMANCESS_SHOULD_BE_STATIC60Medium

org.apache.maven.project.artifact.AttachedArtifact

BugCategoryDetailsLinePriority
org.apache.maven.project.artifact.AttachedArtifact doesn't override org.apache.maven.artifact.DefaultArtifact.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS48-181Medium

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

BugCategoryDetailsLinePriority
La classe org.apache.maven.project.artifact.DefaultMavenMetadataCache$CacheRecord devrait-elle être une classe interne static ?PERFORMANCESIC_INNER_SHOULD_BE_STATIC214-290Medium

org.apache.maven.project.artifact.PluginArtifact

BugCategoryDetailsLinePriority
org.apache.maven.project.artifact.PluginArtifact doesn't override org.apache.maven.artifact.DefaultArtifact.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS39-53Medium

org.apache.maven.project.artifact.ProjectArtifact

BugCategoryDetailsLinePriority
org.apache.maven.project.artifact.ProjectArtifact doesn't override org.apache.maven.artifact.DefaultArtifact.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS39-59Medium

org.apache.maven.repository.ArtifactTransferEvent

BugCategoryDetailsLinePriority
La méthode org.apache.maven.repository.ArtifactTransferEvent.getDataBuffer() risque d'exposer sa représentation interne en renvoyant org.apache.maven.repository.ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP218Medium
La méthode org.apache.maven.repository.ArtifactTransferEvent.setDataBuffer(byte[]) risque d'exposer sa représentation interne en stockant un objet externe modifiable dans org.apache.maven.repository.ArtifactTransferEvent.dataBufferMALICIOUS_CODEEI_EXPOSE_REP2223Medium

org.apache.maven.toolchain.DefaultToolchain

BugCategoryDetailsLinePriority
La méthode org.apache.maven.toolchain.DefaultToolchain.matchesRequirements(Map) fait une utilisation inefficace d'un itérateur sur keySet au lieu d'un itérateur sur entrySetPERFORMANCEWMI_WRONG_MAP_ITERATOR91Medium

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

BugCategoryDetailsLinePriority
Alimentation à perte d'une variable locale dans la méthode org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.parsePersistedToolchains(XmlPullParser, boolean)STYLEDLS_DEAD_LOCAL_STORE811High
La méthode privée org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getBooleanValue(String, String, XmlPullParser) n'est jamais appeléePERFORMANCEUPM_UNCALLED_PRIVATE_METHOD153Medium
La méthode privée org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader.getDateValue(String, String, XmlPullParser) n'est jamais appeléePERFORMANCEUPM_UNCALLED_PRIVATE_METHOD241Medium