FindBugs缺陷类型统计分析(部分)
目录
1 正确性警告(CORRECTNESS WARNINGS ) 4
1.1 AM: CREATES AN EMPTY JAR FILE ENTRY 4
1.2 AM: CREATES AN EMPTY ZIP FILE ENTRY 4
1.3 BC: IMPOSSIBLE CAST 4
1.4 BC: INSTANCEOF WILL ALWAYS RETURN FALSE 5
1.5 BIT: INCOMPATIBLE BIT MASKS 5
1.6 BIT: INCOMPATIBLE BIT MASKS 6
1.7 BIT: INCOMPATIBLE BIT MASKS 6
1.8 BIT: BITWISE OR OF SIGNED BYTE VALUE 7
1.9 BOA: CLASS OVERRIDES A METHOD IMPLEMENTED IN SUPER CLASS ADAPTER WRONGLY 8
1.10 CN: CLASS IMPLEMENTS CLONEABLE BUT DOES NOT DEFINE OR USE CLONE METHOD 8
1.11 CN: CLONE METHOD DOES NOT CALL SUPER.CLONE() 8
1.12 CO: ABSTRACT CLASS DEFINES COVARIANT COMPARETO() METHOD 9
1.13 CO: COVARIANT COMPARETO() METHOD DEFINED 10
1.14 DE: METHOD MIGHT DROP EXCEPTION 10
1.15 DE: METHOD MIGHT IGNORE EXCEPTION 11
1.16 DLS: OVERWRITTEN INCREMENT 11
1.17 NP: POSSIBLE NULL POINTER DEREFERENCE DUE TO RETURN VALUE OF CALLED METHOD 12
1.18 NP: METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER 12
1.19 NP: METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER 13
1.20 NP: NON-VIRTUAL METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER 13
1.21 NP: STORE OF NULL VALUE INTO FIELD ANNOTATED NONNULL 13
1.22 NP: READ OF UNWRITTEN FIELD 13
1.23 NS: QUESTIONABLE USE OF NON-SHORT-CIRCUIT LOGIC 14
1.24 NM: CLASS DEFINES EQUAL(); SHOULD IT BE EQUALS()? 14
1.25 NM: CONFUSING METHOD NAMES 14
1.26 NM: CLASS DEFINES HASHCODE(); SHOULD IT BE HASHCODE()? 15
1.27 NM: CLASS DEFINES TOSTRING(); SHOULD IT BE TOSTRING()? 15
1.28 NM: APPARENT METHOD/CONSTRUCTOR CONFUSION 15
1.29 NM: VERY CONFUSING METHOD NAMES 16
1.30 ODR: METHOD MAY FAIL TO CLOSE DATABASE RESOURCE 16
1.31 ODR: METHOD MAY FAIL TO CLOSE DATABASE RESOURCE ON EXCEPTION 17
1.32 OS: METHOD MAY FAIL TO CLOSE STREAM 18
1.33 OS: METHOD MAY FAIL TO CLOSE STREAM ON EXCEPTION 18
1.34 QBA: METHOD ASSIGNS BOOLEAN LITERAL IN BOOLEAN EXPRESSION 19
1.35 QF: COMPLICATED, SUBTLE OR WRONG INCREMENT IN FOR-LOOP 19
1.36 RC: SUSPICIOUS REFERENCE COMPARISON 20
1.37 RCN: REDUNDANT COMPARISON OF NON-NULL VALUE TO NULL 20
1.38 RCN: REDUNDANT COMPARISON OF TWO NULL VALUES 21
1.39 RCN: REDUNDANT NULLCHECK OF VALUE KNOWN TO BE NON-NULL 21
1.40 RCN: REDUNDANT NULLCHECK OF VALUE KNOWN TO BE NULL 21
1.41 RCN: NULLCHECK OF VALUE PREVIOUSLY DEREFERENCED 21
1.42 RE: INVALID SYNTAX FOR REGULAR EXPRESSION 22
1.43 RE: "." USED FOR REGULAR EXPRESSION 22
1.44 RR: METHOD IGNORES RESULTS OF INPUTSTREAM.READ() 22
1.45 RR: METHOD IGNORES RESULTS OF INPUTSTREAM.SKIP() 23
1.46 RV: RANDOM VALUE FROM 0 TO 1 IS COERCED TO THE INTEGER 0 23
1.47 RV: METHOD CHECKS TO SEE IF RESULT OF STRING.INDEXOF IS POSITIVE 23
1.48 RV: METHOD DISCARDS RESULT OF READLINE AFTER CHECKING IF IT IS NONNULL 23
1.49 RV: REMAINDER OF 32-BIT SIGNED RANDOM INTEGER 24
1.50 RV: METHOD IGNORES RETURN VALUE 24
1.51 SA: SELF ASSIGNMENT OF FIELD 24
2 国际化警告(INTERNATIONALIZATION WARNINGS ) 24
2.1 DM: METHOD INVOKES DUBIOUS STRING.TOUPPERCASE() OR STRING.TOLOWERCASE; USE THE LOCALE PARAMETERIZED VERSION INSTEAD 25
3 多线程正确性警告(MULTITHREADED CORRECTNESS WARNINGS ) 25
3.1 RU: INVOKES RUN ON A THREAD (DID YOU MEAN TO START IT INSTEAD?) 25
3.2 SC: CONSTRUCTOR INVOKES THREAD.START() 25
3.3 SP: METHOD SPINS ON FIELD 26
3.4 SWL: METHOD CALLS THREAD.SLEEP() WITH A LOCK HELD 26
3.5 TLW: WAIT WITH TWO LOCKS HELD 26
3.6 UG: UNSYNCHRONIZED GET METHOD, SYNCHRONIZED SET METHOD 27
3.7 UL: METHOD DOES NOT RELEASE LOCK ON ALL PATHS 27
3.8 UL: METHOD DOES NOT RELEASE LOCK ON ALL EXCEPTION PATHS 28
3.9 UW: UNCONDITIONAL WAIT IN METHOD 28
3.10 VO: A VOLATILE REFERENCE TO AN ARRAY DOESN'T TREAT THE ARRAY ELEMENTS AS VOLATILE 28
3.11 WS: CLASS'S WRITEOBJECT() METHOD IS SYNCHRONIZED BUT NOTHING ELSE IS 29
3.12 WA: CONDITION.AWAIT() NOT IN LOOP IN METHOD 29
3.13 WA: WAIT NOT IN LOOP IN METHOD 29
4 安全脆弱代码警告(MALICIOUS CODE VULNERABILITY WARNINGS ) 30
4.1 EI: METHOD MAY EXPOSE INTERNAL REPRESENTATION BY RETURNING REFERENCE TO MUTABLE OBJECT 30
4.2 EI2: METHOD MAY EXPOSE INTERNAL REPRESENTATION BY INCORPORATING REFERENCE TO MUTABLE OBJECT 30
5 性能问题(PERFORMANCE WARNINGS) 30
5.1 DM: METHOD INVOKES DUBIOUS BOOLEAN CONSTRUCTOR; USE BOOLEAN.VALUEOF(...) INSTEAD 30
6 不提倡的风格(STYLE WARNINGS) 31
6.1 BC: QUESTIONABLE CAST TO ABSTRACT 31
1 正确性警告(Correctness Warnings )
1.1 AM: Creates an empty jar file entry
项目 |
内容 |
BugID |
AM_CREATES_EMPTY_JAR_FILE_ENTRY |
错误范式 |