FindBugs错误类型对照表Word格式.docx

上传人:b****6 文档编号:18669837 上传时间:2022-12-31 格式:DOCX 页数:15 大小:28.33KB
下载 相关 举报
FindBugs错误类型对照表Word格式.docx_第1页
第1页 / 共15页
FindBugs错误类型对照表Word格式.docx_第2页
第2页 / 共15页
FindBugs错误类型对照表Word格式.docx_第3页
第3页 / 共15页
FindBugs错误类型对照表Word格式.docx_第4页
第4页 / 共15页
FindBugs错误类型对照表Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

FindBugs错误类型对照表Word格式.docx

《FindBugs错误类型对照表Word格式.docx》由会员分享,可在线阅读,更多相关《FindBugs错误类型对照表Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

FindBugs错误类型对照表Word格式.docx

UW_UNCOND_WAIT.name=多线程错误-无条件等待

DLS_DEAD_LOCAL_STORE_OF_NULL.name=高危-把null设置给不会用到的局部变量

NM_CLASS_NAMING_CONVENTION.name=类名应该以大写字母开头

RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN.name=使用错误-怀疑对两个布尔值的引用进行比较

MWN_MISMATCHED_NOTIFY.name=多线程错误-不匹配的notify()

NM_VERY_CONFUSING.name=错误-非常容易迷惑的方法名

FI_NULLIFY_SUPER.name=不良实践-空Finalizer禁用了超类的finalizer

MTIA_SUSPECT_STRUTS_INSTANCE_FIELD.name=高危-继承了strutsAction的类使用了实例变量

DM_STRING_CTOR.name=性能-方法调用了效率很低的newString(String)构造方法

STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE.name=多线程错误-调用静态DateFormat

NP_NULL_PARAM_DEREF_NONVIRTUAL.name=使用错误-非虚拟方法调用向非空参数传入了null

FI_EMPTY.name=不良实践-应该删除空的finalizer

CD_CIRCULAR_DEPENDENCY.name=试验-类间存在循环引用

EC_UNRELATED_TYPES.name=使用错误-使用equals()比较不同类型

EI_EXPOSE_STATIC_REP2.name=恶意代码漏洞-把可变对象保存到静态字段中可能会暴露内部静态状态

DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY.name=错误-对数组执行toString

SIC_INNER_SHOULD_BE_STATIC_ANON.name=性能-可以重构成一个静态内部类

STI_INTERRUPTED_ON_UNKNOWNTHREAD.name=错误-在thread实例上调用了静态Thread.interrupted()方法

CN_IDIOM_NO_SUPER_CALL.name=不良实践-clone方法没有调用super.clone()

VA_FORMAT_STRING_BAD_ARGUMENT.name=错误用法-格式化字符串占位符与传入的参数不匹配

EQ_DOESNT_OVERRIDE_EQUALS.name=高危-类没有覆盖父类的equals方法

BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY.name=错误用法-集合转换为数组元素时发生的类型转换错误

SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION.name=不良实践-类是可扩展的,但是没有提供无参数的构造方法

TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK.name=错误用法-数值需要类型标示,但是却标记为未知

SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS.name=性能-可以筹够成一个静态内部类

EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS.name=不良实践-equals检测不兼容的参数操作

RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED.name=错误用法-忽略了putIfAbsent的返回值,传递给putIfAbsent的值被重用

STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE.name=多线程错误-调用静态Calendar

MS_CANNOT_BE_FINAL.name=恶意代码漏洞-字段不是final的,不能防止恶意代码的攻击

IS_INCONSISTENT_SYNC.name=多线程错误-不一致的同步

SE_NO_SERIALVERSIONID.name=不良实践-类是可序列化的,但是没有定义serialVersionUID

EI_EXPOSE_REP2.name=恶意代码漏洞-可能暴露内部实现,通过与可变对象引用协作

NM_METHOD_CONSTRUCTOR_CONFUSION.name=错误用法-明显的方法/构造方法混淆

ICAST_INTEGER_MULTIPLY_CAST_TO_LONG.name=高危-整形乘法的结果转换为long型

QF_QUESTIONABLE_FOR_LOOP.name=高危-for循环中存在复杂,微妙或者错误的自增

DLS_DEAD_STORE_OF_CLASS_LITERAL.name=错误用法-类中保存了无用字符

NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER.name=不良实践-使用了未来java版本中成为关键字的标识

BC_VACUOUS_INSTANCEOF.name=高危-instanceof会一直返回true

INT_VACUOUS_BIT_OPERATION.name=高危-在整形上进行位操作时有一些位上出现空洞

NP_NULL_INSTANCEOF.name=错误用法-一个已知的null值被检测它是否是一个类型的实例

SIC_THREADLOCAL_DEADLY_EMBRACE.name=错误用法-非静态内部类和ThreadLocal的致命结合

EQ_UNUSUAL.name=高危-罕见的equals方法

IJU_NO_TESTS.name=错误用法-TestCase没有任何测试

EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC.name=错误用法-equals方法覆盖了父类的equals可能功能不符

XFB_XML_FACTORY_BYPASS.name=高危-方法直接调用了xml接口的一个具体实现

SWL_SLEEP_WITH_LOCK_HELD.name=多线程错误-方法在获得锁时调用了Thread.sleep()

CN_IDIOM.name=不良实践-类实现了Cloneable,但是没有定义或使用clone方法

WA_AWAIT_NOT_IN_LOOP.name=多线程错误-未在循环中使用的Condition.await()

DM_FP_NUMBER_CTOR.name=性能-方法调用了低效的浮点书构造方法;

应该使用静态的valueOf代替

SF_SWITCH_NO_DEFAULT.name=Switch语句中没有包含default

NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE.name=高危-调用返回返回值可能出现null值

NP_CLONE_COULD_RETURN_NULL.name=不良实践-Clone方法可能返回null

MS_OOI_PKGPROTECT.name=恶意代码漏洞-属性应该从接口中移除并将访问权限设置为包保护

DM_BOXED_PRIMITIVE_TOSTRING.name=性能-方法使用了装箱的基本类型只为了调用toString

EQ_ABSTRACT_SELF.name=不良实践-抽象类定义了协变的equals方法

DM_STRING_TOSTRING.name=性能-方法调用了String的toString()方法

SE_METHOD_MUST_BE_PRIVATE.name=错误用法-方法必须是private的为了让序列化正常工作

DL_SYNCHRONIZATION_ON_BOOLEAN.name=多线程错误-在Boolean上使用同步可能导致死锁

UWF_UNWRITTEN_FIELD.name=错误用法-未赋值属性

IS2_INCONSISTENT_SYNC.name=多线程错误-不一致的同步

IM_AVERAGE_COMPUTATION_COULD_OVERFLOW.name=高危-计算平均值可能溢出

BIT_SIGNED_CHECK_HIGH_BIT.name=错误用法-检查位运算的符号

FL_MATH_USING_FLOAT_PRECISION.name=错误用法-方法进行数学运算时使用了浮点数的精度

WS_WRITEOBJECT_SYNC.name=多线程错误-类的writeObject()方法是同步的,但是没有做其他事情

RV_RETURN_VALUE_IGNORED.name=错误用法-方法忽略了返回值

SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE.name=安全风险-非常量的字符串传递给方法执行SQL语句

JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS.name=不良实践-不可变的类的属性应该是final

AM_CREATES_EMPTY_ZIP_FILE_ENTRY.name=不良实践-创建了一个空的zip文件的入口

DM_NEXTINT_VIA_NEXTDOUBLE.name=性能-使用Random的nextInt方法来获得一个随机整数,而不是nextDouble

UI_INHERITANCE_UNSAFE_GETRESOURCE.name=不良实践-如果类被扩展,GetResource的使用可能就是不安全的

SIO_SUPERFLUOUS_INSTANCEOF.name=错误用法-不必要的类型检测使用instanceof操作符

EQ_OTHER_NO_OBJECT.name=错误用法-equals()方法定义,但是没有覆盖equals(Object)

USM_USELESS_ABSTRACT_METHOD.name=试验-抽象方法已经在实现的接口中定义了

MTIA_SUSPECT_SERVLET_INSTANCE_FIELD.name=高危-扩展Servlet的类使用了实例变量

DM_USELESS_THREAD.name=多线程错误-使用默认的空run方法创建了一个线程

ML_SYNC_ON_UPDATED_FIELD.name=多线程错误-方法在一个修改了的属性上进行了同步

CO_SELF_NO_OBJECT.name=不良实践-协变的compareTo()定义

BC_UNCONFIRMED_CAST.name=高危-未检查/未证实的类型转换

FI_FINALIZER_NULLS_FIELDS.name=不良实践-Finalizer空属性

BIT_AND.name=错误用法-不兼容的位掩码(BIT_AND)

FE_FLOATING_POINT_EQUALITY.name=高危-测试浮点数相等

TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK.name=错误用法-值不要求有类型标示,但是标记为未知

NP_NULL_PARAM_DEREF.name=错误用法-方法调用把null传递给一个非null参数

FB_MISSING_EXPECTED_WARNING.name=试验-findbugs丢失了期待或需要的警告

DMI_INVOKING_HASHCODE_ON_ARRAY.name=错误用法-在数组上调用了hashCode

QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT.name=错误用法-方法在布尔表达式中分配了boolean文字

SA_FIELD_SELF_COMPARISON.name=错误用法-属性自己与自己进行了比较

UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR.name=错误用法-父类的构造方法调用未初始化属性的方法

ES_COMPARING_PARAMETER_STRING_WITH_EQ.name=不良实践-比较字符串参数使用了==或!

=

INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE.name=错误用法-错误比较非负值与负数

INT_BAD_COMPARISON_WITH_SIGNED_BYTE.name=错误用法-错误比较带符号的byte

IO_APPENDING_TO_OBJECT_OUTPUT_STREAM.name=错误用法-尝试向一个对象输出流添加信息

FI_MISSING_SUPER_CALL.name=不良实践-Finalizer没有调用父类的finalizer

VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED.name=错误用法-传递了多余实际使用的格式化字符串的参数

HE_EQUALS_USE_HASHCODE.name=不良实践-类定义了equals(),但使用了Object.hashCode()

IJU_BAD_SUITE_METHOD.name=错误用法-TestCase声明了一个错误的suite方法

DMI_CONSTANT_DB_PASSWORD.name=安全风险-硬编码了数据库密码

REC_CATCH_EXCEPTION.name=高危-捕获了没有抛出的异常

PS_PUBLIC_SEMAPHORES.name=高危-类在公用接口中暴露了同步和信号

EC_UNRELATED_INTERFACES.name=错误用法-调用equals()比较不同的接口类型

UCF_USELESS_CONTROL_FLOW_NEXT_LINE.name=错误用法-执行到下一行的无用流程控制

LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE.name=试验-OpenJDK中存在潜在的丢失logger的风险,因为弱引用

NP_UNWRITTEN_FIELD.name=错误用法-读取未初始化的属性

DMI_UNSUPPORTED_METHOD.name=高危-调用不支持的方法

RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE.name=高危-重复比较非空值和null

EC_BAD_ARRAY_COMPARE.name=错误用法-调用equals(),与==效果一样

EI_EXPOSE_REP.name=恶意代码漏洞-可能通过返回一个可变对象的引用暴露了内部实现

NP_DEREFERENCE_OF_READLINE_VALUE.name=高危-没有判断readLine()的结果是否为空

UPM_UNCALLED_PRIVATE_METHOD.name=性能-从未用到的私有方法

NP_NULL_ON_SOME_PATH.name=错误用法-可能出现空指针引用

NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT.name=不良实践-equals()方法没有检测null参数

EC_NULL_ARG.name=错误用法-使用空参数调用equals()

SE_BAD_FIELD_STORE.name=不良实践-非序列化值保存在序列化类的实例变量中

VO_VOLATILE_REFERENCE_TO_ARRAY.name=多线程错误-数组的volatile引用不会把数组元素也当做volatile来引用

NP_SYNC_AND_NULL_CHECK_FIELD.name=多线程错误-同步和空值检测发生在同一个属性上

DM_EXIT.name=不良实践-方法调用了System.exit(...)

RC_REF_COMPARISON.name=不良实践-怀疑进行了引用比较

SE_NO_SUITABLE_CONSTRUCTOR.name=不良实践-类是可序列化的,但是父类没有定义无参数构造方法

DC_DOUBLECHECK.name=多线程错误-可能对属性进行了双重检测

DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT.name=错误用法-在int上调用了Double.longBitsToDouble

RpC_REPEATED_CONDITIONAL_TEST.name=错误用法-重复判断条件

WMI_WRONG_MAP_ITERATOR.name=性能-keySet迭代是低效的,使用entrySet代替

DLS_DEAD_LOCAL_STORE.name=高危-未用的局部变量

INT_BAD_REM_BY_1.name=错误用法-整数剩余模1

RV_RETURN_VALUE_IGNORED_BAD_PRACTICE.name=不良实践-方法忽略异常返回值

SA_LOCAL_SELF_ASSIGNMENT.name=高危-局部变量的自我赋值

MS_SHOULD_BE_FINAL.name=恶意代码漏洞-属性不是final,但是应该设置成final

SIC_INNER_SHOULD_BE_STATIC.name=性能-应该是一个静态内部类

NP_GUARANTEED_DEREF.name=错误用法-null值一定会被调用

SE_READ_RESOLVE_MUST_RETURN_OBJECT.name=不良实践-readResolve方法必须返回Object

NP_LOAD_OF_KNOWN_NULL_VALUE.name=高危-加载了已知的null值

BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION.name=性能-基本数据被装箱又被拆箱

CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE.name=不良实践-类定义了clone()但没有实现Cloneable

CO_ABSTRACT_SELF.name=不良实践-抽象类定义了协变的compareTo()方法

BAC_BAD_APPLET_CONSTRUCTOR.name=试验-错误的Applet构造方法依赖未初始化的AppletStub

EQ_GETCLASS_AND_CLASS_CONSTANT.name=不良实践-equals方法因为子类失败

DB_DUPLICATE_SWITCH_CLAUSES.name=高危-在两个switch语句中使用了相同的代码

DB_DUPLICATE_BRANCHES.name=高危-在两个分支中使用了相同的代码

UOE_USE_OBJECT_EQUALS.name=试验-在final类上调用了equals,但是没有覆盖Object的equals方法

FI_USELESS.name=不良实践-Finalizer除了调用父类的finalizer以外什么也没做

NP_ALWAYS_NULL.name=错误用法-调用了null指针

DMI_VACUOUS_SELF_COLLECTION_CALL.name=错误用法-集合的调用不能被感知

DLS_DEAD_LOCAL_STORE_IN_RETURN.name=错误用法-返回语句中的无用的赋值

IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD.name=错误用法-在run方法中的JUnit检验不能报告给JUnit

DMI_EMPTY_DB_PASSWORD.name=安全风险-空的数据库密码

DM_BOOLEAN_CTOR.name=性能-方法调用了低效的Boolean构造方法;

使用Boolean.valueOf(...)代替

BC_IMPOSSIBLE_DOWNCAST.name=错误用法-不可能转型

BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS.name=不良实践-Equals方法不应该假设任何有关参数类型的事宜

RV_EXCEPTION_NOT_THROWN.name=错误用法-异常创建后就丢弃了,没有抛出

VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG.name=错误用法-基本类型数组传递给一个期待可变对象类型参数的方法

LI_LAZY_INIT_UPDATE_STATIC.name=多线程错误-错误的延迟初始化和更新静态属性

SA_FIELD_SELF_ASSIGNMENT.name=错误用法-属性自身赋值

EQ_ALWAYS_FALSE.name=错误用法-equals方法一直返回false

DMI_RANDOM_USED_ONLY_ONCE.name=不良实践-Random对象创建后只用了一次

NM_CLASS_NOT_EX

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1