Skip to content Navigation Menu Toggle navigation Sign in Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub Copilot appDirect agents from issue to mergeMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests... Search Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Saved searches Use saved searches to filter your results more quickly Name Query To see all available qualifiers, see our documentation. Sign in Sign up Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} Uh oh! There was an error while loading. Please reload this page. pmd / pmd Public Uh oh! There was an error while loading. Please reload this page. Notifications You must be signed in to change notification settings Fork 1.6k Star 5.4k Code Issues 579 Pull requests 26 Discussions Actions Projects Wiki Security and quality 2 Insights Additional navigation options Code Issues Pull requests Discussions Actions Projects Wiki Security and quality Insights IssuesAssigned to meCreated by meMentionedRecent activityViewsProjectsMilestonesLabelsIssuesSearch Issuesis:issue state:open is:issue state:open SearchLabelsMilestonesNew issueIssue creation is restricted in this repositorySearch resultsOpenClosed[java] AssertEqualsArgumentOrder: False positive for double assertEqualsa:false-positivePMD flags a piece of code that is not problematicPMD flags a piece of code that is not problematicStatus: Open.#6826 In pmd/pmd;· dhalperi opened on Jun 29, 2026Find rules with Zero violationsan:enhancementAn improvement on existing features / rulesAn improvement on existing features / rulesStatus: Open.#6808 In pmd/pmd;· SMUsamaShah opened on Jun 23, 2026[java] NonThreadSafeSingleton: checkNonStaticMethods property description contradicts implementationa:bugPMD crashes or fails to analyse a file.PMD crashes or fails to analyse a file.Status: Open.#6780 In pmd/pmd;· JavaGuangGitHub opened on Jun 15, 2026[java] Disambiguation IllegalStateException resolving a synthesized record accessor used as a call argument alongside an anonymous classa:bugPMD crashes or fails to analyse a file.PMD crashes or fails to analyse a file.Status: Open.#6768 In pmd/pmd;· stevenschlansker opened on Jun 8, 2026[java] NonThreadSafeSingleton: False negative with ternary conditional operatora:false-negativePMD doesn't flag a problematic piece of codePMD doesn't flag a problematic piece of codeStatus: Open.#6747 In pmd/pmd;· Chordrain opened on Jun 2, 2026[java] ReturnEmptyCollectionRatherThanNull: False negative when returning ternary conditionala:false-negativePMD doesn't flag a problematic piece of codePMD doesn't flag a problematic piece of codeStatus: Open.#6744 In pmd/pmd;· Chordrain opened on Jun 1, 2026[java] CloseResource: False positive when a correctly-closed resource is declared without initializera:false-positivePMD flags a piece of code that is not problematicPMD flags a piece of code that is not problematicStatus: Open.#6742 In pmd/pmd;· Chordrain opened on Jun 1, 2026[java] TooManyStaticImports: @SuppressWarnings("PMD.TooManyStaticImports") has stopped workinga:bugPMD crashes or fails to analyse a file.PMD crashes or fails to analyse a file.Status: Open.#6737 In pmd/pmd;· altaiezior opened on May 30, 2026[java] UnnecessaryFullyQualifiedName: False positive for lombok annotationa:false-positivePMD flags a piece of code that is not problematicPMD flags a piece of code that is not problematicStatus: Open.#6731 In pmd/pmd;· altaiezior opened on May 28, 2026[java] New rule: SuspiciousEqualsCalla:new-ruleProposal to add a new built-in ruleProposal to add a new built-in ruleStatus: Open.#6715 In pmd/pmd;· UncleOwen opened on May 26, 2026[java] Rename UseUtilityClassStatus: Open.#6714 In pmd/pmd;· UncleOwen opened on May 26, 2026[java] New rule: Inner class may be statica:new-ruleProposal to add a new built-in ruleProposal to add a new built-in ruleStatus: Open.#6711 In pmd/pmd;· zbynek opened on May 24, 2026 You can’t perform that action at this time.