Skip to main content

Java CodeQL queries for Code Quality

Explore the queries that CodeQL uses to analyze code quality for code written in Java.

Code Quality uses the following CodeQL queries to analyze Java code and detect code quality issues on:

  • Your default branch, with results shown on the repository's "Standardergebnisse" dashboard
  • Pull requests, with findings shown as comments made by github-code-quality[bot]

Copilot Autofix suggestions are provided for findings where possible.

Query nameCategorySeverity
Access to unsupported JDK-internal APIMaintainabilityRecommendation
Boxed variable is never nullMaintainabilityWarning
Cast from abstract to concrete collectionMaintainabilityWarning
Class has same name as super classMaintainabilityRecommendation
Confusing method names because of capitalizationMaintainabilityRecommendation
Confusing overloading of methodsMaintainabilityRecommendation
Constant interface anti-patternMaintainabilityRecommendation
Container contents are never accessedMaintainabilityError
Inefficient empty string testMaintainabilityRecommendation
Inefficient String constructorMaintainabilityRecommendation
Inner class could be staticMaintainabilityRecommendation
Interface cannot be implementedMaintainabilityWarning
Javadoc has impossible 'throws' tagMaintainabilityRecommendation
Misleading indentationMaintainabilityWarning
Missing Override annotationMaintainabilityRecommendation
Missing space in string literalMaintainabilityRecommendation
Mocking all public methods of a class may indicate the unit test is testing too muchMaintainabilityRecommendation
Non-case label in switch statementMaintainabilityRecommendation
Non-explicit control and whitespace charactersMaintainabilityWarning
Possible confusion of local and fieldMaintainabilityRecommendation
Spurious Javadoc @param tagsMaintainabilityRecommendation
Subtle call to inherited methodMaintainabilityWarning
Underscore used as identifierMaintainabilityRecommendation
Unread local variableMaintainabilityRecommendation
Unused classes and interfacesMaintainabilityRecommendation
Unused format argumentMaintainabilityWarning
Unused labelMaintainabilityRecommendation
Use of VisibleForTesting in production codeMaintainabilityWarning
Useless null checkMaintainabilityWarning
Useless parameterMaintainabilityRecommendation
Useless toString on StringMaintainabilityRecommendation
Useless type testMaintainabilityWarning
Array index out of boundsReliabilityError
Character passed to StringBuffer or StringBuilder constructorReliabilityError
Comparison of identical valuesReliabilityError
Constant loop conditionReliabilityWarning
Container contents are never initializedReliabilityError
Container size compared to zeroReliabilityWarning
Continue statement that does not continueReliabilityWarning
Contradictory type checksReliabilityError
Dereferenced expression may be nullReliabilityWarning
Dereferenced variable is always nullReliabilityError
Dereferenced variable may be nullReliabilityWarning
Direct call to a run() methodReliabilityRecommendation
Do not call finalize()ReliabilityError
Double-checked locking is not thread-safeReliabilityError
Equals method does not inspect argument typeReliabilityError
Equals on incomparable typesReliabilityError
Equals or hashCode on arraysReliabilityError
EscapingReliabilityWarning
Exposing internal representationReliabilityRecommendation
Expression always evaluates to the same valueReliabilityWarning
Hashed value without hashCode definitionReliabilityError
Ignored error status of callReliabilityRecommendation
Ignored serialization member of record classReliabilityWarning
Implicit conversion from array to stringReliabilityRecommendation
Inconsistent equals and hashCodeReliabilityError
Inconsistent synchronization of getter and setterReliabilityError
Inefficient output streamReliabilityWarning
Inefficient primitive constructorReliabilityRecommendation
Inefficient use of key set iteratorReliabilityRecommendation
Iterable wrapping an iteratorReliabilityWarning
Iterator implementing IterableReliabilityWarning
Left shift by more than the type widthReliabilityWarning
Missing @Nested annotation on JUnit 5 inner test classReliabilityWarning
Missing catch of NumberFormatExceptionReliabilityRecommendation
Missing format argumentReliabilityError
Non-final method invocation in constructorReliabilityError
Non-synchronized override of synchronized methodReliabilityWarning
Not thread-safeReliabilityWarning
Potential database resource leakReliabilityWarning
Potential input resource leakReliabilityWarning
Potential output resource leakReliabilityWarning
Race condition in double-checked locking object initializationReliabilityWarning
Reference equality test of boxed typesReliabilityError
Result of multiplication cast to wider typeReliabilityWarning
Safe publicationReliabilityWarning
Self assignmentReliabilityError
Suspicious date formatReliabilityWarning
Synchronization on boxed types or stringsReliabilityError
Type mismatch on container accessReliabilityError
Type mismatch on container modificationReliabilityError
Unreachable catch clauseReliabilityWarning
Use of String#replaceAll with a first argument which is not a regular expressionReliabilityRecommendation
Use of default toString()ReliabilityRecommendation
Useless comparison testReliabilityWarning
Whitespace contradicts operator precedenceReliabilityWarning
Wrong NaN comparisonReliabilityError
Zero threads set for java.util.concurrent.ScheduledThreadPoolExecutorReliabilityRecommendation