SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 3.1.12

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
510 31 0 0

org.djunits.locale.Localization

Bug Category Details Line Priority
Potentially dangerous use of non-short-circuit logic in org.djunits.locale.Localization.isDefault() STYLE NS_DANGEROUS_NON_SHORT_CIRCUIT 143 High
Class org.djunits.locale.Localization defines non-transient non-serializable instance field defaultResourceBundle BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.djunits.locale.Localization defines non-transient non-serializable instance field resourceBundle BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.djunits.unit.AbsoluteLinearUnit

Bug Category Details Line Priority
Unchecked/unconfirmed cast from org.djunits.unit.Unit$Builder<AU> to org.djunits.unit.AbsoluteLinearUnit$Builder in org.djunits.unit.AbsoluteLinearUnit.build(Unit$Builder) STYLE BC_UNCONFIRMED_CAST 59 Medium

org.djunits.unit.si.SIDimensions

Bug Category Details Line Priority
org.djunits.unit.si.SIDimensions.SI_ABBREVIATIONS should be package protected MALICIOUS_CODE MS_PKGPROTECT 30 Medium

org.djunits.unit.si.SIPrefixes

Bug Category Details Line Priority
org.djunits.unit.si.SIPrefixes.KILO_PREFIXES is a mutable collection MALICIOUS_CODE MS_MUTABLE_COLLECTION 41 High
org.djunits.unit.si.SIPrefixes.PER_UNIT_PREFIXES is a mutable collection MALICIOUS_CODE MS_MUTABLE_COLLECTION 35 High
org.djunits.unit.si.SIPrefixes.UNIT_POS_PREFIXES is a mutable collection MALICIOUS_CODE MS_MUTABLE_COLLECTION 38 High
org.djunits.unit.si.SIPrefixes.UNIT_PREFIXES is a mutable collection MALICIOUS_CODE MS_MUTABLE_COLLECTION 32 High

org.djunits.value.vdouble.matrix.data.DoubleMatrixData

Bug Category Details Line Priority
Possible null pointer dereference of values in org.djunits.value.vdouble.matrix.data.DoubleMatrixData.checkRectangularAndNonEmpty(double[][]) CORRECTNESS NP_NULL_ON_SOME_PATH 248 High
Possible null pointer dereference of values in org.djunits.value.vdouble.matrix.data.DoubleMatrixData.checkRectangularAndNonEmpty(DoubleScalarInterface[][]) CORRECTNESS NP_NULL_ON_SOME_PATH 274 High

org.djunits.value.vdouble.matrix.data.DoubleMatrixDataSparse

Bug Category Details Line Priority
new org.djunits.value.vdouble.matrix.data.DoubleMatrixDataSparse(double[], long[], int, int) may expose internal representation by storing an externally mutable object into DoubleMatrixDataSparse.indices MALICIOUS_CODE EI_EXPOSE_REP2 47 Medium
new org.djunits.value.vdouble.matrix.data.DoubleMatrixDataSparse(double[], long[], int, int) may expose internal representation by storing an externally mutable object into DoubleMatrixDataSparse.matrixSI MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium
org.djunits.value.vdouble.matrix.data.DoubleMatrixDataSparse.equals(Object) checks for operand being a DoubleMatrixDataDense BAD_PRACTICE EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS 579 High

org.djunits.value.vdouble.vector.base.AbstractDoubleVector$Itr

Bug Category Details Line Priority
org.djunits.value.vdouble.vector.base.AbstractDoubleVector$Itr is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 405-452 Medium

org.djunits.value.vdouble.vector.data.DoubleVectorData

Bug Category Details Line Priority
org.djunits.value.vdouble.vector.data.DoubleVectorData.instantiate(SortedMap, int, Scale, StorageType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 383 Medium
org.djunits.value.vdouble.vector.data.DoubleVectorData.instantiateMap(SortedMap, int, StorageType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 465 Medium

org.djunits.value.vdouble.vector.data.DoubleVectorDataSparse

Bug Category Details Line Priority
new org.djunits.value.vdouble.vector.data.DoubleVectorDataSparse(double[], int[], int) may expose internal representation by storing an externally mutable object into DoubleVectorDataSparse.indices MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium
new org.djunits.value.vdouble.vector.data.DoubleVectorDataSparse(double[], int[], int) may expose internal representation by storing an externally mutable object into DoubleVectorDataSparse.vectorSI MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
org.djunits.value.vdouble.vector.data.DoubleVectorDataSparse.equals(Object) checks for operand being a DoubleVectorDataDense BAD_PRACTICE EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS 455 High

org.djunits.value.vfloat.matrix.data.FloatMatrixData

Bug Category Details Line Priority
Possible null pointer dereference of values in org.djunits.value.vfloat.matrix.data.FloatMatrixData.checkRectangularAndNonEmpty(float[][]) CORRECTNESS NP_NULL_ON_SOME_PATH 256 High
Possible null pointer dereference of values in org.djunits.value.vfloat.matrix.data.FloatMatrixData.checkRectangularAndNonEmpty(FloatScalarInterface[][]) CORRECTNESS NP_NULL_ON_SOME_PATH 282 High

org.djunits.value.vfloat.matrix.data.FloatMatrixDataSparse

Bug Category Details Line Priority
new org.djunits.value.vfloat.matrix.data.FloatMatrixDataSparse(float[], long[], int, int) may expose internal representation by storing an externally mutable object into FloatMatrixDataSparse.indices MALICIOUS_CODE EI_EXPOSE_REP2 47 Medium
new org.djunits.value.vfloat.matrix.data.FloatMatrixDataSparse(float[], long[], int, int) may expose internal representation by storing an externally mutable object into FloatMatrixDataSparse.matrixSI MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium
org.djunits.value.vfloat.matrix.data.FloatMatrixDataSparse.equals(Object) checks for operand being a FloatMatrixDataDense BAD_PRACTICE EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS 573 High

org.djunits.value.vfloat.vector.base.AbstractFloatVector$Itr

Bug Category Details Line Priority
org.djunits.value.vfloat.vector.base.AbstractFloatVector$Itr is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 396-443 Medium

org.djunits.value.vfloat.vector.data.FloatVectorData

Bug Category Details Line Priority
org.djunits.value.vfloat.vector.data.FloatVectorData.instantiate(SortedMap, int, Scale, StorageType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 250 Medium
org.djunits.value.vfloat.vector.data.FloatVectorData.instantiateMap(SortedMap, int, StorageType) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 332 Medium

org.djunits.value.vfloat.vector.data.FloatVectorDataSparse

Bug Category Details Line Priority
new org.djunits.value.vfloat.vector.data.FloatVectorDataSparse(float[], int[], int) may expose internal representation by storing an externally mutable object into FloatVectorDataSparse.indices MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.djunits.value.vfloat.vector.data.FloatVectorDataSparse(float[], int[], int) may expose internal representation by storing an externally mutable object into FloatVectorDataSparse.vectorSI MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium
org.djunits.value.vfloat.vector.data.FloatVectorDataSparse.equals(Object) checks for operand being a FloatVectorDataDense BAD_PRACTICE EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS 457 High