Factors
Entities
Property @Product [Root]
Refined By
Property @Product part [Root]
Refined By
Property @Assembly [C#]
Refined By
Definition and Usage Consistency @Assembly [C#]
Measured By
System.Windows.Forms executable target [C#]
Determined By
C#/System.Windows.Forms executable target/SystemWindowsFormsExecutableTargetRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Assembly/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Assembly => Reliability
Interface and Implementation Consistency @Assembly [C#]
Measured By
STAThread attribute on SWF entry points [C#]
Determined By
C#/STAThread attribute on SWF entry points/UseSTAThreadAttributeOnSWFEntryPointsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Assembly/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Assembly => Reliability
Property @Source code part [Root]
Refined By
Ambiguous Reference vs. Value Type Usage @Source code part [Root]
Refined By
Ambiguous Reference vs. Value Type Usage @Comparison expression [Root]
Measured By
Comparison of String objects using == or != [Java]
Determined By
Java/Comparison of String objects using == or !=/ES_COMPARING_STRINGS_WITH_EQ [FindBugs]
Comparison of String parameter using == or != [Java]
Determined By
Java/Comparison of String parameter using == or !=/ES_COMPARING_PARAMETER_STRING_WITH_EQ [FindBugs]
Comparison with empty string [C#]
Determined By
C#/Comparison with empty string/CompareWithStringEmptyEfficientlyRule [Gendarme]
Suspicious comparison of Boolean values [Java]
Determined By
Java/Suspicious comparison of Boolean values/RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN [FindBugs]
Suspicious reference comparison [Java]
Determined By
Java/Suspicious reference comparison/RC_REF_COMPARISON [FindBugs]
Suspicious reference comparison to constant [Java]
Determined By
Java/Suspicious reference comparison to constant/RC_REF_COMPARISON_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Comparison expression => Analyzability
Ambiguous Reference vs. Value Type Usage @Comparison expression => Functional Correctness
Ambiguous Reference vs. Value Type Usage @Comparison expression => Modifiability
Ambiguous Reference vs. Value Type Usage @Value type [C#]
Measured By
Large @Value type [C#]
Determined By
C#/Large @Value type/AvoidLargeStructureRule [Gendarme]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Value type/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Value type => Resource Utilization
Ambiguous Reference vs. Value Type Usage @Value type => Time Behavior
Behavioral Integrity @Source code part [Root]
Refined By
Behavioral Integrity @Clone method [Object-orientation]
Measured By
Clone method does not call super.clone() [Java]
Determined By
Java/Clone method does not call super.clone()/CN_IDIOM_NO_SUPER_CALL [FindBugs]
Clone method returns null [C#]
Determined By
C#/Clone method returns null/CloneMethodShouldNotReturnNullRule [Gendarme]
May return null [Java]
Determined By
Java/May return null/NP_CLONE_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Clone method => Analyzability
Behavioral Integrity @Clone method => Reliability
Behavioral Integrity @Clone method => Reusability
Behavioral Integrity @Clone method => Testability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Destructor [Object-orientation]
Measured By
Disposable should be disposed [C#]
Determined By
C#/Disposable should be disposed/DisposableFieldsShouldBeDisposedRule [Gendarme]
Finalizer does not call superclass finalizer [Java]
Determined By
Java/Finalizer does not call superclass finalizer/FI_MISSING_SUPER_CALL [FindBugs]
Finalizer nullifies superclass finalizer [Java]
Determined By
Java/Finalizer nullifies superclass finalizer/FI_NULLIFY_SUPER [FindBugs]
Finalizer should call base class finalizer [C#]
Determined By
C#/Finalizer should call base class finalizer/FinalizersShouldCallBaseClassFinalizerRule [Gendarme]
Evaluated By
C#/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Destructor => Analyzability
Behavioral Integrity @Destructor => Resource Utilization
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @Loop [Root]
Measured By
Complicated, subtle or wrong increment in for-loop [Java]
Determined By
Java/Complicated, subtle or wrong increment in for-loop/QF_QUESTIONABLE_FOR_LOOP [FindBugs]
Evaluated By
Java/Behavioral Integrity @Loop/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Loop => Analyzability
Behavioral Integrity @Loop => Functional Correctness
Behavioral Integrity @ToString Method [Object-orientation]
Measured By
Conversion to string returns null [C#]
Determined By
C#/Conversion to string returns null/ToStringShouldNotReturnNullRule [Gendarme]
ToString method may return null [Java]
Determined By
Java/ToString method may return null/NP_TOSTRING_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @ToString Method => Modifiability
Behavioral Integrity @ToString Method => Reliability
Behavioral Integrity @ToString Method => Reusability
Behavioral Integrity @ToString Method => Testability
Conformity to Naming Convention @Source code part [Root]
Refined By
Conformity to Naming Convention @Class name [Object-orientation]
Measured By
Class is not derived from an Exception, even though it is named as such [Java]
Determined By
Java/Class is not derived from an Exception, even though it is named as such/NM_CLASS_NOT_EXCEPTION [FindBugs]
Shadows simple name of implemented interface [Java]
Determined By
Java/Shadows simple name of implemented interface/NM_SAME_SIMPLE_NAME_AS_INTERFACE [FindBugs]
Shadows simple name of superclass [Java]
Determined By
Java/Shadows simple name of superclass/NM_SAME_SIMPLE_NAME_AS_SUPERCLASS [FindBugs]
Evaluated By
Java/Conformity to Naming Convention @Class name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Class name => Analyzability
Conformity to Naming Convention @Class name => Testability
Conformity to Naming Convention @Event [C#]
Measured By
Signature mismatch [C#]
Determined By
C#/Signature mismatch/DeclareEventHandlersCorrectlyRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Event/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Event => Analyzability
Conformity to Naming Convention @Event => Testability
Conformity to Naming Convention @Method name [Object-orientation]
Measured By
Apparent method/constructor confusion [Java]
Determined By
Java/Apparent method/constructor confusion/NM_METHOD_CONSTRUCTOR_CONFUSION [FindBugs]
Redundant parts @Method name [C#]
Determined By
C#/Redundant parts @Method name/AvoidRedundancyInMethodNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method name => Analyzability
Conformity to Naming Convention @Method name => Modifiability
Conformity to Naming Convention @Method name => Testability
Conformity to Naming Convention @Method parameter [Object-orientation]
Measured By
Unmatched with overridden method [C#]
Determined By
C#/Unmatched with overridden method/ParameterNamesShouldMatchOverriddenMethodRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method parameter => Analyzability
Conformity to Naming Convention @Method parameter => Testability
Conformity to Naming Convention @Source code identifier [Root]
Measured By
Confusing method names [Java]
Determined By
Java/Confusing method names/NM_CONFUSING [FindBugs]
Confusing method names, but perhaps intentional [Java]
Determined By
Java/Confusing method names, but perhaps intentional/NM_VERY_CONFUSING_INTENTIONAL [FindBugs]
Incorrect pre- or suffix [C#]
Refined By
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Determined By
Findings Union Measure Aggregation Findings Union
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Non-alphanumeric characters [C#]
Determined By
C#/Non-alphanumeric characters/AvoidNonAlphanumericIdentifierRule [Gendarme]
Plural [C#]
Determined By
C#/Plural/UseSingularNameInEnumsUnlessAreFlagsRule [Gendarme]
Proportion of identifiers that are synonyms [Root]
Determined By
Root/Proportion of identifiers that are synonyms/Manual Instrument
Proportion of meaningless and misleading identifiers @Source code identifier [Root]
Determined By
Root/Proportion of meaningless and misleading identifiers @Source code identifier/Manual Instrument
Proportion of misspelled and cryptic identifiers [Root]
Determined By
Root/Proportion of misspelled and cryptic identifiers/Manual Instrument
Singular [C#]
Determined By
C#/Singular/UsePluralNameInEnumFlagsRule [Gendarme]
Use of identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER [FindBugs]
Use of member identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of member identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER [FindBugs]
Very confusing method names [Java]
Determined By
Java/Very confusing method names/NM_VERY_CONFUSING [FindBugs]
With before or after [C#]
Determined By
C#/With before or after/DoNotPrefixEventsWithAfterOrBeforeRule [Gendarme]
With struct name [C#]
Determined By
C#/With struct name/DoNotPrefixValuesWithEnumNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Source code identifier => Analyzability
Conformity to Naming Convention @Source code identifier => Testability
Conformity to Naming Convention @Type name [Root]
Measured By
Redundant parts @Type name [C#]
Determined By
C#/Redundant parts @Type name/AvoidRedundancyInTypeNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Type name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Type name => Analyzability
Conformity to Naming Convention @Type name => Testability
Conformity to Naming Convention regarding Capitalization @Source code part [Root]
Refined By
Conformity to Naming Convention regarding Capitalization @Source code identifier [Java]
Measured By
Class names should start with an upper case letter [Java]
Determined By
Java/Class names should start with an upper case letter/NM_CLASS_NAMING_CONVENTION [FindBugs]
Field names should start with a lower case letter [Java]
Determined By
Java/Field names should start with a lower case letter/NM_FIELD_NAMING_CONVENTION [FindBugs]
Method names should start with a lower case letter [Java]
Determined By
Java/Method names should start with a lower case letter/NM_METHOD_NAMING_CONVENTION [FindBugs]
Evaluated By
Java/Conformity to Naming Convention regarding Capitalization @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention regarding Capitalization @Source code identifier => Analyzability
Definition and Usage Consistency @Source code part [Root]
Refined By
Definition and Usage Consistency @Annotation [Root]
Measured By
Missing runtime retention [Java]
Determined By
Java/Missing runtime retention/DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION [FindBugs]
Obsolete is empty [C#]
Determined By
C#/Obsolete is empty/ObsoleteMessagesShouldNotBeEmptyRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Annotation => Functional Correctness
Definition and Usage Consistency @Annotation => Modifiability
Definition and Usage Consistency @Array Library Function Call [Root]
Measured By
Invocation of hashCode on an array [Java]
Determined By
Java/Invocation of hashCode on an array/DMI_INVOKING_HASHCODE_ON_ARRAY [FindBugs]
Invocation of toString on an anonymous array [Java]
Determined By
Java/Invocation of toString on an anonymous array/DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY [FindBugs]
Invocation of toString on an array [Java]
Determined By
Java/Invocation of toString on an array/DMI_INVOKING_TOSTRING_ON_ARRAY [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Array Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Array Library Function Call => Analyzability
Definition and Usage Consistency @Array Library Function Call => Functional Correctness
Definition and Usage Consistency @Catch Statement [Root]
Measured By
Possibly dropped exception [Java]
Determined By
Java/Possibly dropped exception/DE_MIGHT_DROP [FindBugs]
Possibly ignored exception [Java]
Determined By
Java/Possibly ignored exception/DE_MIGHT_IGNORE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Catch Statement => Functional Correctness
Definition and Usage Consistency @Catch Statement => Testability
Definition and Usage Consistency @Collection Statement [Root]
Measured By
Return value of putIfAbsent ignored, value passed to putIfAbsent reused [Java]
Determined By
Java/Return value of putIfAbsent ignored, value passed to putIfAbsent reused/RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED [FindBugs]
hasNext method invokes next [Java]
Determined By
Java/hasNext method invokes next/DMI_CALLING_NEXT_FROM_HASNEXT [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Collection Statement => Analyzability
Definition and Usage Consistency @Collection Statement => Functional Correctness
Definition and Usage Consistency @Comparison expression [Root]
Measured By
Invocation of equals() on an array, which is equivalent to == [Java]
Determined By
Java/Invocation of equals() on an array, which is equivalent to ==/EC_BAD_ARRAY_COMPARE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Comparison expression => Analyzability
Definition and Usage Consistency @Comparison expression => Functional Correctness
Definition and Usage Consistency @Constructor [Object-orientation]
Measured By
Invokes Thread.start() [Java]
Determined By
Java/Invokes Thread.start()/SC_START_IN_CTOR [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Constructor => Analyzability
Definition and Usage Consistency @Constructor => Functional Correctness
Definition and Usage Consistency @Constructor => Reliability
Definition and Usage Consistency @Database statement [Root]
Measured By
Method attempts to access a prepared statement parameter with index 0 [Java]
Determined By
Java/Method attempts to access a prepared statement parameter with index 0/SQL_BAD_PREPARED_STATEMENT_ACCESS [FindBugs]
Method attempts to access a result set field with index 0 [Java]
Determined By
Java/Method attempts to access a result set field with index 0/SQL_BAD_RESULTSET_ACCESS [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Database statement => Analyzability
Definition and Usage Consistency @Database statement => Functional Correctness
Definition and Usage Consistency @Database statement => Reliability
Definition and Usage Consistency @Date or Time Statement [Root]
Measured By
Bad constant value for month [Java]
Determined By
Java/Bad constant value for month/DMI_BAD_MONTH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Date or Time Statement => Analyzability
Definition and Usage Consistency @Date or Time Statement => Functional Correctness
Definition and Usage Consistency @Date or Time Statement => Reliability
Definition and Usage Consistency @Destructor [Object-orientation]
Measured By
Explicit invocation of finalizer [Java]
Determined By
Java/Explicit invocation of finalizer/FI_EXPLICIT_INVOCATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Destructor => Analyzability
Definition and Usage Consistency @Destructor => Functional Correctness
Definition and Usage Consistency @Destructor => Modifiability
Definition and Usage Consistency @Expression [Root]
Impacts
Definition and Usage Consistency @Expression => Reliability
Definition and Usage Consistency @Field [Object-orientation]
Measured By
ThreadStatic with instance [C#]
Determined By
C#/ThreadStatic with instance/DoNotUseThreadStaticWithInstanceFieldsRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Field => Analyzability
Definition and Usage Consistency @Field => Functional Correctness
Definition and Usage Consistency @IO Library Function Call [Root]
Measured By
Inability to append to an object output stream [Java]
Determined By
Java/Inability to append to an object output stream/IO_APPENDING_TO_OBJECT_OUTPUT_STREAM [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @IO Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @IO Library Function Call => Functional Correctness
Definition and Usage Consistency @Interface [Root]
Measured By
Redundant interface implementation [Java]
Determined By
Java/Redundant interface implementation/RI_REDUNDANT_INTERFACES [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Interface/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Interface => Modifiability
Definition and Usage Consistency @Interface => Reusability
Definition and Usage Consistency @Local variable [Root]
Measured By
No disposal [C#]
Determined By
C#/No disposal/EnsureLocalDisposalRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Local variable => Functional Correctness
Definition and Usage Consistency @Local variable => Reliability
Definition and Usage Consistency @Method invocation [Root]
Measured By
Ignored results [C#]
Determined By
C#/Ignored results/DoNotIgnoreMethodResultRule [Gendarme]
Ignores return value of non-const method [Java]
Determined By
Java/Ignores return value of non-const method/RV_RETURN_VALUE_IGNORED_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method invocation => Functional Correctness
Definition and Usage Consistency @Method invocation => Reliability
Definition and Usage Consistency @Method parameter [Object-orientation]
Measured By
Thread passed where Runnable expected [Java]
Determined By
Java/Thread passed where Runnable expected/DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method parameter => Analyzability
Definition and Usage Consistency @Method parameter => Functional Correctness
Definition and Usage Consistency @Resource Handle [Root]
Measured By
May fail to clean up stream or resource [Java]
Determined By
Java/May fail to clean up stream or resource/OBL_UNSATISFIED_OBLIGATION [FindBugs]
May fail to close database resource [Java]
Determined By
Java/May fail to close database resource/ODR_OPEN_DATABASE_RESOURCE [FindBugs]
May fail to close database resource on exception [Java]
Determined By
Java/May fail to close database resource on exception/ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH [FindBugs]
May fail to close stream [Java]
Determined By
Java/May fail to close stream/OS_OPEN_STREAM [FindBugs]
May fail to close stream on exception [Java]
Determined By
Java/May fail to close stream on exception/OS_OPEN_STREAM_EXCEPTION_PATH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Resource Handle/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Resource Handle => Analyzability
Definition and Usage Consistency @Resource Handle => Functional Correctness
Definition and Usage Consistency @Resource Handle => Reliability
Definition and Usage Consistency @Resource Handle => Resource Utilization
Definition and Usage Consistency @Security Check Method [Object-orientation]
Measured By
Short circuit certificate check [C#]
Determined By
C#/Short circuit certificate check/DoNotShortCircuitCertificateCheckRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Security Check Method/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Security Check Method => Security
Definition and Usage Consistency @String Library Function Call [Root]
Measured By
Array formatted in useless way using format string [Java]
Determined By
Java/Array formatted in useless way using format string/VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY [FindBugs]
Format string placeholder incompatible with passed argument [Java]
Determined By
Java/Format string placeholder incompatible with passed argument/VA_FORMAT_STRING_BAD_ARGUMENT [FindBugs]
Format string references missing argument [Java]
Determined By
Java/Format string references missing argument/VA_FORMAT_STRING_MISSING_ARGUMENT [FindBugs]
Illegal format string [Java]
Determined By
Java/Illegal format string/VA_FORMAT_STRING_ILLEGAL [FindBugs]
Incompatible type of argument at format string [Java]
Determined By
Java/Incompatible type of argument at format string/VA_FORMAT_STRING_BAD_CONVERSION [FindBugs]
MessageFormat supplied where printf style format expected [Java]
Determined By
Java/MessageFormat supplied where printf style format expected/VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED [FindBugs]
No previous argument for format string [Java]
Determined By
Java/No previous argument for format string/VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT [FindBugs]
Non-Boolean argument formatted using boolean format specifier [Java]
Determined By
Java/Non-Boolean argument formatted using boolean format specifier/VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN [FindBugs]
Parameter mismatch at formatting [C#]
Determined By
C#/Parameter mismatch at formatting/ProvideCorrectArgumentsToFormattingMethodsRule [Gendarme]
Too many arguments in the format string [Java]
Determined By
Java/Too many arguments in the format string/VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @String Library Function Call => Analyzability
Definition and Usage Consistency @String Library Function Call => Functional Correctness
Definition and Usage Consistency @String Library Function Call => Reliability
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Definition and Usage Consistency @Thread Library Function Call [Root]
Measured By
Invokes run on a thread [Java]
Determined By
Java/Invokes run on a thread/RU_INVOKE_RUN [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Thread Library Function Call => Analyzability
Definition and Usage Consistency @Thread Library Function Call => Functional Correctness
Definition and Usage Consistency @Thread Library Function Call => Reliability
Definition and Usage Consistency @Type cast [Root]
Measured By
Always throws ClassCastException [Java]
Determined By
Java/Always throws ClassCastException/BC_IMPOSSIBLE_CAST [FindBugs]
Impossible downcast [Java]
Determined By
Java/Impossible downcast/BC_IMPOSSIBLE_DOWNCAST [FindBugs]
Impossible downcast of toArray() result [Java]
Determined By
Java/Impossible downcast of toArray() result/BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Type cast => Reliability
Definition and Usage Consistency Regarding Scope @Source code part [Root]
Refined By
Definition and Usage Consistency Regarding Scope @Class [Object-orientation]
Measured By
Insecure GetObjectData override [C#]
Determined By
C#/Insecure GetObjectData override/SecureGetObjectDataOverridesRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency Regarding Scope @Class/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Class => Security
Definition and Usage Consistency Regarding Scope @Constructor [Object-orientation]
Measured By
Superclass uses subclass during initialization [Java]
Determined By
Java/Superclass uses subclass during initialization/IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Constructor => Analyzability
Definition and Usage Consistency Regarding Scope @Constructor => Functional Correctness
Definition and Usage Consistency Regarding Scope @Constructor => Reliability
Definition and Usage Consistency Regarding Scope @Library function call [Root]
Measured By
Classloaders should only be created inside doPrivileged block [Java]
Determined By
Java/Classloaders should only be created inside doPrivileged block/DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Library function call => Security
Detail Complexity @Source code part [Root]
Refined By
Detail Complexity @Class [Object-orientation]
Measured By
Large @Class [C#]
Determined By
C#/Large @Class/AvoidLargeClassesRule [Gendarme]
Evaluated By
C#/Detail Complexity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Class => Analyzability
Detail Complexity @Class => Modifiability
Detail Complexity @Method [Object-orientation]
Measured By
Deep nesting [Java]
Determined By
Java/Deep nesting/Nesting Depth Exceeded [Java Code Structure Analysis]
Long [C#]
Determined By
C#/Long/AvoidLongMethodsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method => Analyzability
Detail Complexity @Method => Modifiability
Detail Complexity @Method interface [Object-orientation]
Measured By
Primitive array passed to function expecting a variable number of object arguments [Java]
Determined By
Java/Primitive array passed to function expecting a variable number of object arguments/VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG [FindBugs]
Ref or out [C#]
Determined By
C#/Ref or out/AvoidRefAndOutParametersRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method interface => Analyzability
Detail Complexity @Method interface => Testability
Detail Complexity @Method invocation [Root]
Measured By
Message chain smell [C#]
Determined By
C#/Message chain smell/AvoidMessageChainsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method invocation => Analyzability
Detail Complexity @Method invocation => Modifiability
Detail Complexity @Namespace [Root]
Measured By
Small [C#]
Determined By
C#/Small/AvoidSmallNamespaceRule [Gendarme]
Evaluated By
C#/Detail Complexity @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Namespace => Analyzability
Detail Complexity @Source file [Root]
Measured By
Large [Root]
Determined By
C#/Large/Overly Long File [C# Basic metrics]
Java/Large/Overly Long File [Java Code Structure Analysis]
Evaluated By
C#/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Source file => Analyzability
Detail Complexity @Source file => Modifiability
Development Environment Independence @Source code part [Root]
Refined By
Development Environment Independence @Source code identifier [Root]
Measured By
Invalid character [Root]
Determined By
Root/Invalid character/Invalid Character [Encoding Check]
Evaluated By
C#/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Development Environment Independence @Source code identifier => Analyzability
Development Environment Independence @Source code identifier => Portability
Development Environment Independence @Source code identifier => Testability
Documentation Degree @Source code part [Root]
Measured By
Insufficient [Java]
Determined By
Java/Insufficient/Insufficient Comment [JavaDoc Analysis]
Java missing javadoc comment [Java]
Determined By
Java/Java missing javadoc comment/Missing Documentation [JavaDoc Analysis]
Proportion of missing or incomplete comments [Root]
Determined By
Root/Proportion of missing or incomplete comments/Manual Instrument
Evaluated By
Java/Documentation Degree @Source code part/WeightedSumMultiMeasureEvaluation
Impacts
Documentation Degree @Source code part => Analyzability
Duplication @Source code part [Root]
Measured By
Clone coverage [Root]
Determined By
C#/Clone coverage/UnitCoverage [C# Clone Detection]
Java/Clone coverage/UnitCoverage [Java Clone Detection]
Cloning overhead [Root]
Determined By
C#/Cloning overhead/Overhead [C# Clone Detection]
Java/Cloning overhead/Overhead [Java Clone Detection]
Evaluated By
C#/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Java/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Impacts
Duplication @Source code part => Analyzability
Duplication @Source code part => Modifiability
Dynamic Complexity @Source code part [Root]
Refined By
Dynamic Complexity @Method [Object-orientation]
Measured By
High cyclomatic complexity [C#]
Determined By
C#/High cyclomatic complexity/AvoidComplexMethodsRule [Gendarme]
Evaluated By
C#/Dynamic Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Dynamic Complexity @Method => Analyzability
Dynamic Complexity @Method => Modifiability
Encapsulation Strength @Source code part [Root]
Refined By
Encapsulation Strength @Class [Object-orientation]
Measured By
Abstract type with public constructor [C#]
Determined By
C#/Abstract type with public constructor/AbstractTypesShouldNotHavePublicConstructorsRule [Gendarme]
Deep inheritance [C#]
Determined By
C#/Deep inheritance/AvoidDeepInheritanceTreeRule [Gendarme]
Incorporates reference to mutable object [Java]
Determined By
Java/Incorporates reference to mutable object/EI_EXPOSE_REP2 [FindBugs]
Lack of cohesion [C#]
Determined By
C#/Lack of cohesion/AvoidLackOfCohesionOfMethodsRule [Gendarme]
Private readResolve method not inherited by subclasses [Java]
Determined By
Java/Private readResolve method not inherited by subclasses/SE_PRIVATE_READ_RESOLVE_NOT_INHERITED [FindBugs]
Evaluated By
C#/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Class => Modifiability
Encapsulation Strength @Class => Reliability
Encapsulation Strength @Class => Security
Encapsulation Strength @Constructor [Object-orientation]
Measured By
Non private [C#]
Determined By
C#/Non private/StaticConstructorsShouldBePrivateRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Constructor => Security
Encapsulation Strength @Destructor [Object-orientation]
Measured By
Finalizer should be protected not public [Java]
Determined By
Java/Finalizer should be protected not public/FI_PUBLIC_SHOULD_BE_PROTECTED [FindBugs]
Evaluated By
Java/Encapsulation Strength @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Destructor => Analyzability
Encapsulation Strength @Destructor => Security
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
Encapsulation Strength @Method [Object-orientation]
Measured By
Exposed and protected by link demand [C#]
Determined By
C#/Exposed and protected by link demand/DoNotExposeMethodsProtectedByLinkDemandRule [Gendarme]
Large number of local variables [C#]
Determined By
C#/Large number of local variables/AvoidLargeNumberOfLocalVariablesRule [Gendarme]
Long parameter list [C#]
Determined By
C#/Long parameter list/AvoidLongParameterListsRule [Gendarme]
Public static method may expose internal representation by returning array [Java]
Determined By
Java/Public static method may expose internal representation by returning array/MS_EXPOSE_REP [FindBugs]
Evaluated By
C#/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Method => Analyzability
Encapsulation Strength @Method => Modifiability
Encapsulation Strength @Method => Security
Encapsulation Strength @Property [Object-orientation]
Measured By
Returns array [C#]
Determined By
C#/Returns array/AvoidReturningArraysOnPropertiesRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Property/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Property => Modifiability
Encapsulation Strength @Property => Reliability
Encapsulation Strength @Property => Security
Encapsulation Strength @Synchronization statement [C#]
Measured By
Lock on weak identity objects [C#]
Determined By
C#/Lock on weak identity objects/DoNotLockOnWeakIdentityObjectsRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Synchronization statement => Modifiability
Encapsulation Strength @Synchronization statement => Reliability
Encapsulation Strength @Synchronization statement => Security
General Expression Applicability @Source code part [Root]
Refined By
General Expression Applicability @Bitwise logical expression [Root]
Measured By
Bitwise OR of signed byte value [Java]
Determined By
Java/Bitwise OR of signed byte value/BIT_IOR_OF_SIGNED_BYTE [FindBugs]
Bitwise add of signed byte value [Java]
Determined By
Java/Bitwise add of signed byte value/BIT_ADD_OF_SIGNED_BYTE [FindBugs]
Check for sign of bitwise operation [Java]
Determined By
Java/Check for sign of bitwise operation/BIT_SIGNED_CHECK [FindBugs]
Check for sign of bitwise operation (high bit) [Java]
Determined By
Java/Check for sign of bitwise operation (high bit)/BIT_SIGNED_CHECK_HIGH_BIT [FindBugs]
Evaluated By
Java/General Expression Applicability @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Bitwise logical expression => Analyzability
General Expression Applicability @Bitwise logical expression => Functional Correctness
General Expression Applicability @Comparison expression [Root]
Measured By
Doomed test for equality to NaN [Java]
Determined By
Java/Doomed test for equality to NaN/FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER [FindBugs]
Floating point equality [Root]
Determined By
C#/Floating point equality/AvoidFloatingPointEqualityRule [Gendarme]
Java/Floating point equality/FE_FLOATING_POINT_EQUALITY [FindBugs]
With NaN [C#]
Determined By
C#/With NaN/DoNotCompareWithNaNRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Comparison expression => Analyzability
General Expression Applicability @Comparison expression => Functional Correctness
General Expression Applicability @Mathematical expression [Root]
Measured By
Casting to a larger type after multiplication [Root]
Determined By
C#/Casting to a larger type after multiplication/ReviewCastOnIntegerMultiplicationRule [Gendarme]
Java/Casting to a larger type after multiplication/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Casting to float after integer division [Root]
Determined By
C#/Casting to float after integer division/ReviewCastOnIntegerDivisionRule [Gendarme]
Java/Casting to float after integer division/ICAST_IDIV_CAST_TO_DOUBLE [FindBugs]
Computation of average could overflow [Java]
Determined By
Java/Computation of average could overflow/IM_AVERAGE_COMPUTATION_COULD_OVERFLOW [FindBugs]
Integer multiply of result of integer remainder [Java]
Determined By
Java/Integer multiply of result of integer remainder/IM_MULTIPLYING_RESULT_OF_IREM [FindBugs]
Oddness check that does not work for negative numbers [Root]
Determined By
C#/Oddness check that does not work for negative numbers/ReplaceIncompleteOddnessCheckRule [Gendarme]
Java/Oddness check that does not work for negative numbers/IM_BAD_CHECK_FOR_ODD [FindBugs]
Remainder of 32-bit signed random integer [Java]
Determined By
Java/Remainder of 32-bit signed random integer/RV_REM_OF_RANDOM_INT [FindBugs]
Remainder of hashCode could be negative [Java]
Determined By
Java/Remainder of hashCode could be negative/RV_REM_OF_HASHCODE [FindBugs]
Result of integer multiplication cast to long [Java]
Determined By
Java/Result of integer multiplication cast to long/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Evaluated By
C#/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Mathematical expression => Analyzability
General Expression Applicability @Mathematical expression => Functional Correctness
General Expression Applicability @Mathematical expression => Reliability
General Expression Applicability @Mathematical expression => Time Behavior
General Expression Applicability @String Library Function Call [Root]
Measured By
Check to see if result of String.indexOf is positive [Java]
Determined By
Java/Check to see if result of String.indexOf is positive/RV_CHECK_FOR_POSITIVE_INDEXOF [FindBugs]
Evaluated By
Java/General Expression Applicability @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @String Library Function Call => Analyzability
General Expression Applicability @String Library Function Call => Functional Correctness
General Expression Applicability @Type cast [Root]
Measured By
Unchecked/unconfirmed cast [Java]
Determined By
Java/Unchecked/unconfirmed cast/BC_UNCONFIRMED_CAST [FindBugs]
Evaluated By
Java/General Expression Applicability @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type cast => Analyzability
General Expression Applicability @Type cast => Reliability
General Expression Applicability @Type identification statement [Root]
Measured By
Uses GetInterface to check assignability [C#]
Determined By
C#/Uses GetInterface to check assignability/DoNotUseGetInterfaceToCheckAssignabilityRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type identification statement => Modifiability
General Expression Applicability @Type identification statement => Reliability
General Expression Applicability @Type identification statement => Testability
Ignored Existence of Already Implemented Code @Source code part [Root]
Refined By
Ignored Existence of Already Implemented Code @Class [Object-orientation]
Measured By
Code duplicated in same [C#]
Determined By
C#/Code duplicated in same/AvoidCodeDuplicatedInSameClassRule [Gendarme]
Code duplicated in sibling [C#]
Determined By
C#/Code duplicated in sibling/AvoidCodeDuplicatedInSiblingClassesRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Class/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Class => Analyzability
Ignored Existence of Already Implemented Code @Class => Modifiability
Ignored Existence of Already Implemented Code @Date or Time Statement [Root]
Measured By
Stopwatch not used [C#]
Determined By
C#/Stopwatch not used/ConsiderUsingStopwatchRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Date or Time Statement => Analyzability
Ignored Existence of Already Implemented Code @Date or Time Statement => Functional Correctness
Ignored Existence of Already Implemented Code @Delegate [C#]
Measured By
Not custom [C#]
Determined By
C#/Not custom/ConsiderCustomAccessorsForNonVisibleEventsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Delegate/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Delegate => Resource Utilization
Ignored Existence of Already Implemented Code @Delegate => Time Behavior
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Ignored Existence of Already Implemented Code @Switch statement [Root]
Measured By
Duplicated [C#]
Determined By
C#/Duplicated/AvoidSwitchStatementsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Switch statement => Analyzability
Ignored Existence of Already Implemented Code @Switch statement => Modifiability
Ignored Existence of Already Implemented Code @Type cast [Root]
Impacts
Ignored Existence of Already Implemented Code @Type cast => Analyzability
Ignored Existence of Already Implemented Code @Type cast => Functional Correctness
Interface Permission Consistency @Source code part [Root]
Refined By
Interface Permission Consistency @Class [Object-orientation]
Measured By
Missing type inheritance demand [C#]
Determined By
C#/Missing type inheritance demand/AddMissingTypeInheritanceDemandRule [Gendarme]
Reduced type security [C#]
Determined By
C#/Reduced type security/DoNotReduceTypeSecurityOnMethodsRule [Gendarme]
Evaluated By
C#/Interface Permission Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface Permission Consistency @Class => Security
Interface Permission Consistency @Method invocation [Root]
Measured By
Method invoked that should only be invoked inside a doPrivileged block [Java]
Determined By
Java/Method invoked that should only be invoked inside a doPrivileged block/DP_DO_INSIDE_DO_PRIVILEGED [FindBugs]
Evaluated By
Java/Interface Permission Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Interface Permission Consistency @Method invocation => Security
Interface and Implementation Consistency @Source code part [Root]
Refined By
Interface and Implementation Consistency @Collection Statement [Root]
Measured By
No relationship between generic parameter and method argument [Java]
Determined By
Java/No relationship between generic parameter and method argument/GC_UNRELATED_TYPES [FindBugs]
Unchecked type in generic call [Java]
Determined By
Java/Unchecked type in generic call/GC_UNCHECKED_TYPE_IN_GENERIC_CALL [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Collection Statement => Modifiability
Interface and Implementation Consistency @Comparison method [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Comparison method => Analyzability
Interface and Implementation Consistency @Comparison method => Functional Correctness
Interface and Implementation Consistency @Comparison method => Reusability
Interface and Implementation Consistency @Delegate [C#]
Measured By
Unprotected call to event [C#]
Determined By
C#/Unprotected call to event/ProtectCallToEventDelegatesRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Delegate/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Delegate => Reliability
Interface and Implementation Consistency @Destructor [Object-orientation]
Impacts
Interface and Implementation Consistency @Destructor => Analyzability
Interface and Implementation Consistency @Destructor => Resource Utilization
Interface and Implementation Consistency @Destructor => Reusability
Interface and Implementation Consistency @Field [Object-orientation]
Measured By
Store of null value into field annotated NonNull [Java]
Determined By
Java/Store of null value into field annotated NonNull/NP_STORE_INTO_NONNULL_FIELD [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Field => Analyzability
Interface and Implementation Consistency @Field => Reliability
Interface and Implementation Consistency @Garbage collection statement [Object-orientation]
Measured By
Missing call to SuppressFinalize [C#]
Determined By
C#/Missing call to SuppressFinalize/UseSuppressFinalizeOnIDisposableTypeWithFinalizerRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Garbage collection statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Garbage collection statement => Reliability
Interface and Implementation Consistency @Garbage collection statement => Resource Utilization
Interface and Implementation Consistency @Garbage collection statement => Time Behavior
Interface and Implementation Consistency @Method [Object-orientation]
Measured By
Not implemented [C#]
Determined By
C#/Not implemented/DoNotForgetNotImplementedMethodsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Method => Reliability
Interface and Implementation Consistency @Namespace [Root]
Measured By
Inconsistent types and interfaces [C#]
Determined By
C#/Inconsistent types and interfaces/AvoidTypeInterfaceInconsistencyRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Namespace => Analyzability
Interface and Implementation Consistency @Namespace => Modifiability
Interface and Implementation Consistency @Overridden Method [Object-orientation]
Measured By
Class overrides a method implemented in super class Adapter wrongly [Java]
Determined By
Java/Class overrides a method implemented in super class Adapter wrongly/BOA_BADLY_OVERRIDDEN_ADAPTER [FindBugs]
Intentionally wrong package for parameter [Java]
Determined By
Java/Intentionally wrong package for parameter/NM_WRONG_PACKAGE_INTENTIONAL [FindBugs]
Wrong package for parameter [Java]
Determined By
Java/Wrong package for parameter/NM_WRONG_PACKAGE [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Overridden Method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Overridden Method => Analyzability
Interface and Implementation Consistency @Overridden Method => Functional Correctness
Interface and Implementation Consistency @Property [Object-orientation]
Measured By
Without get accessor [C#]
Determined By
C#/Without get accessor/AvoidPropertiesWithoutGetAccessorRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Property/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Property => Analyzability
Interface and Implementation Consistency @Property => Modifiability
Interface and Implementation Consistency @Return Statement [Root]
Measured By
Consider returning a zero length array rather than null [Java]
Determined By
Java/Consider returning a zero length array rather than null/PZLA_PREFER_ZERO_LENGTH_ARRAYS [FindBugs]
May return null, but is declared NonNull [Java]
Determined By
Java/May return null, but is declared NonNull/NP_NONNULL_RETURN_VIOLATION [FindBugs]
Method with Boolean return type returns explicit null [Java]
Determined By
Java/Method with Boolean return type returns explicit null/NP_BOOLEAN_RETURN_NULL [FindBugs]
Returns null for collection types [C#]
Determined By
C#/Returns null for collection types/PreferEmptyInstanceOverNullRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Java/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Return Statement => Analyzability
Interface and Implementation Consistency @Return Statement => Modifiability
Interface and Implementation Consistency @Return Statement => Reliability
Interface and Implementation Consistency @Switch statement [Root]
Measured By
Default case is missing [Java]
Determined By
Java/Default case is missing/SF_SWITCH_NO_DEFAULT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Switch statement => Modifiability
Interface and Implementation Consistency @Test Class [Object-orientation]
Measured By
Bad suite method [Java]
Determined By
Java/Bad suite method/IJU_BAD_SUITE_METHOD [FindBugs]
Non-static suite method [Java]
Determined By
Java/Non-static suite method/IJU_SUITE_NOT_STATIC [FindBugs]
SetUp doesn't call super.setUp() [Java]
Determined By
Java/SetUp doesn't call super.setUp()/IJU_SETUP_NO_SUPER [FindBugs]
TearDown doesn't call super.tearDown() [Java]
Determined By
Java/TearDown doesn't call super.tearDown()/IJU_TEARDOWN_NO_SUPER [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Test Class => Analyzability
Interface and Implementation Consistency @Test Class => Functional Correctness
Interface and Implementation Consistency @Test Class => Reusability
Interface and Implementation Consistency @Test Class => Testability
Interface and Implementation Consistency @Value type [C#]
Measured By
Missing equals overload @Value type [C#]
Determined By
C#/Missing equals overload @Value type/OverrideValueTypeDefaultsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Value type/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Value type => Time Behavior
Literal Validity @Source code part [Root]
Refined By
Literal Validity @Annotation [Root]
Measured By
Assembly versions mismatch [C#]
Determined By
C#/Assembly versions mismatch/AvoidAssemblyVersionMismatchRule [Gendarme]
String literal does not parse correctly [C#]
Determined By
C#/String literal does not parse correctly/AttributeStringLiteralsShouldParseCorrectlyRule [Gendarme]
Evaluated By
C#/Literal Validity @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Annotation => Analyzability
Literal Validity @Annotation => Reliability
Literal Validity @Annotation => Reusability
Literal Validity @Regular expression [Root]
Measured By
Incorrect [C#]
Determined By
C#/Incorrect/ProvideCorrectRegexPatternRule [Gendarme]
Invalid syntax [Java]
Determined By
Java/Invalid syntax/RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION [FindBugs]
Evaluated By
C#/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Java/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Regular expression => Analyzability
Literal Validity @Regular expression => Functional Correctness
Literal Validity @Regular expression => Reliability
Literal Validity @XML Expression [Root]
Measured By
Invalid XML [C#]
Determined By
C#/Invalid XML/ProvideValidXmlStringRule [Gendarme]
Evaluated By
C#/Literal Validity @XML Expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XML Expression => Analyzability
Literal Validity @XML Expression => Functional Correctness
Literal Validity @XML Expression => Reliability
Literal Validity @XPath expression [Root]
Measured By
Invalid [C#]
Determined By
C#/Invalid/ProvideValidXPathExpressionRule [Gendarme]
Evaluated By
C#/Literal Validity @XPath expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XPath expression => Analyzability
Literal Validity @XPath expression => Functional Correctness
Literal Validity @XPath expression => Reliability
Memory Leak @Source code part [Root]
Refined By
Memory Leak @Assignment statement [Root]
Impacts
Memory Leak @Assignment statement => Reliability
Memory Leak @Assignment statement => Resource Utilization
Memory Leak @Destructor [Object-orientation]
Impacts
Memory Leak @Destructor => Analyzability
Memory Leak @Destructor => Reliability
Memory Leak @Destructor => Resource Utilization
Method-Pair Consistency @Source code part [Root]
Refined By
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Modifier Consistency @Source code part [Root]
Refined By
Modifier Consistency @Class [Object-orientation]
Measured By
Fields of immutable classes should be final [Java]
Determined By
Java/Fields of immutable classes should be final/JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS [FindBugs]
Sealed with inheritance demand [C#]
Determined By
C#/Sealed with inheritance demand/ReviewSealedTypeWithInheritanceDemandRule [Gendarme]
Should be property [C#]
Determined By
C#/Should be property/ConsiderConvertingMethodToPropertyRule [Gendarme]
Should be static [C#]
Determined By
C#/Should be static/ConsiderUsingStaticTypeRule [Gendarme]
Evaluated By
C#/Modifier Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Modifier Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Modifier Consistency @Class => Analyzability
Natural Language Consistency @Source code part [Root]
Refined By
Natural Language Consistency @Source code comment [Root]
Measured By
Number of different natural languages in comments [Root]
Determined By
Root/Number of different natural languages in comments/Language Count [Natural Language Analysis]
Evaluated By
Root/Natural Language Consistency @Source code comment/WeightedSumMultiMeasureEvaluation
Impacts
Natural Language Consistency @Source code comment => Analyzability
Natural Language Consistency @Source code identifier [Root]
Measured By
Not preferred term [C#]
Determined By
C#/Not preferred term/UsePreferredTermsRule [Gendarme]
Proportion of identifiers in default language [Root]
Determined By
Root/Proportion of identifiers in default language/Manual Instrument
Evaluated By
C#/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Natural Language Consistency @Source code identifier => Analyzability
Natural Language Consistency @Source code identifier => Testability
Reference Validity @Source code part [Root]
Refined By
Reference Validity @Dereference Statement [Root]
Measured By
Close() invoked on a value that is always null [Java]
Determined By
Java/Close() invoked on a value that is always null/NP_CLOSING_NULL [FindBugs]
Dereference of the result of readLine() without nullcheck [Java]
Determined By
Java/Dereference of the result of readLine() without nullcheck/NP_DEREFERENCE_OF_READLINE_VALUE [FindBugs]
Immediate dereference of the result of readLine() [Java]
Determined By
Java/Immediate dereference of the result of readLine()/NP_IMMEDIATE_DEREFERENCE_OF_READLINE [FindBugs]
Load of known null value [Java]
Determined By
Java/Load of known null value/NP_LOAD_OF_KNOWN_NULL_VALUE [FindBugs]
Null pointer dereference [Java]
Determined By
Java/Null pointer dereference/NP_ALWAYS_NULL [FindBugs]
Null pointer dereference in method on exception path [Java]
Determined By
Java/Null pointer dereference in method on exception path/NP_ALWAYS_NULL_EXCEPTION [FindBugs]
Null pointer dereference on exception path [Java]
Determined By
Java/Null pointer dereference on exception path/NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH [FindBugs]
Null value is guaranteed to be dereferenced [Java]
Determined By
Java/Null value is guaranteed to be dereferenced/NP_GUARANTEED_DEREF [FindBugs]
Passes null for nonnull parameter [Java]
Determined By
Java/Passes null for nonnull parameter/NP_NULL_PARAM_DEREF [FindBugs]
Passes null to a required nonnull parameter [Java]
Determined By
Java/Passes null to a required nonnull parameter/NP_NONNULL_PARAM_VIOLATION [FindBugs]
Passes null to target methods that require nonnull parameter [Java]
Determined By
Java/Passes null to target methods that require nonnull parameter/NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS [FindBugs]
Possible null pointer dereference [Java]
Determined By
Java/Possible null pointer dereference/NP_NULL_ON_SOME_PATH [FindBugs]
Possible null pointer dereference due to return value of called method [Java]
Determined By
Java/Possible null pointer dereference due to return value of called method/NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE [FindBugs]
Possible null pointer dereference in method on exception path [Java]
Determined By
Java/Possible null pointer dereference in method on exception path/NP_NULL_ON_SOME_PATH_EXCEPTION [FindBugs]
Possible null pointer dereference on path that might be infeasible [Java]
Determined By
Java/Possible null pointer dereference on path that might be infeasible/NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE [FindBugs]
Evaluated By
Java/Reference Validity @Dereference Statement/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Dereference Statement => Reliability
Reference Validity @Method invocation argument [Object-orientation]
Measured By
Non-virtual method call passes null for nonnull parameter [Java]
Determined By
Java/Non-virtual method call passes null for nonnull parameter/NP_NULL_PARAM_DEREF_NONVIRTUAL [FindBugs]
Evaluated By
Java/Reference Validity @Method invocation argument/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method invocation argument => Functional Correctness
Reference Validity @Method invocation argument => Reliability
Reference Validity @Method parameter [Object-orientation]
Measured By
Missing check for null argument @Method parameter [Java]
Determined By
Java/Missing check for null argument @Method parameter/NP_ARGUMENT_MIGHT_BE_NULL [FindBugs]
Missing null comparison [C#]
Determined By
C#/Missing null comparison/CheckParametersNullityInVisibleMethodsRule [Gendarme]
Parameter must be nonnull but is marked as nullable [Java]
Determined By
Java/Parameter must be nonnull but is marked as nullable/NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE [FindBugs]
Evaluated By
C#/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method parameter => Analyzability
Reference Validity @Method parameter => Modifiability
Reference Validity @Method parameter => Reliability
Reference Validity @Method parameter => Reusability
Reference Validity @Subroutine [Root]
Impacts
Reference Validity @Subroutine => Functional Correctness
Relying on Implicit Language Behavior @Source code part [Root]
Refined By
Relying on Implicit Language Behavior @Enum [Root]
Measured By
Not decorated as serializable [C#]
Determined By
C#/Not decorated as serializable/MarkEnumerationsAsSerializableRule [Gendarme]
Evaluated By
C#/Relying on Implicit Language Behavior @Enum/WeightedSumMultiMeasureEvaluation
Impacts
Relying on Implicit Language Behavior @Enum => Analyzability
Relying on Implicit Language Behavior @Switch statement [Root]
Measured By
One case falls through to the next case [Java]
Determined By
Java/One case falls through to the next case/SF_SWITCH_FALLTHROUGH [FindBugs]
Evaluated By
Java/Relying on Implicit Language Behavior @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Relying on Implicit Language Behavior @Switch statement => Functional Correctness
Runtime Environment Independence @Source code part [Root]
Refined By
Runtime Environment Independence @Database statement [Root]
Measured By
Empty password [Java]
Determined By
Java/Empty password/DMI_EMPTY_DB_PASSWORD [FindBugs]
Hardcoded constant database password [Java]
Determined By
Java/Hardcoded constant database password/DMI_CONSTANT_DB_PASSWORD [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Database statement => Portability
Runtime Environment Independence @Database statement => Security
Runtime Environment Independence @Library function call [Root]
Measured By
Non-implemented Feature [C#]
Determined By
C#/Non-implemented Feature/MonoCompatibilityReviewRule [Gendarme]
Potential lost logger changes due to weak reference in OpenJDK [Java]
Determined By
Java/Potential lost logger changes due to weak reference in OpenJDK/LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE [FindBugs]
Restricted Feature [C#]
Determined By
C#/Restricted Feature/FeatureRequiresRootPrivilegeOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Library function call => Functional Correctness
Runtime Environment Independence @Library function call => Portability
Runtime Environment Independence @Literal [Root]
Measured By
Hard coded reference to an absolute pathname [Java]
Determined By
Java/Hard coded reference to an absolute pathname/DMI_HARDCODED_ABSOLUTE_FILENAME [FindBugs]
Hardcode paths [C#]
Determined By
C#/Hardcode paths/DoNotHardcodePathsRule [Gendarme]
New line [C#]
Determined By
C#/New line/NewLineLiteralRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Literal => Portability
Runtime Environment Independence @Literal => Security
Runtime Environment Independence @Literal => Testability
Runtime Environment Independence @Regular expression [Root]
Measured By
Contains File.separator [Java]
Determined By
Java/Contains File.separator/RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Regular expression => Functional Correctness
Runtime Environment Independence @Regular expression => Portability
Runtime Environment Independence @Return Statement [Root]
Measured By
Invalid exit code [C#]
Determined By
C#/Invalid exit code/ExitCodeIsLimitedOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Return Statement => Functional Correctness
Runtime Environment Independence @Return Statement => Reliability
Runtime Environment Independence @String Library Function Call [Root]
Measured By
Encoding issues [Java]
Determined By
Java/Encoding issues/DM_CONVERT_CASE [FindBugs]
Evaluated By
Java/Runtime Environment Independence @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @String Library Function Call => Functional Correctness
Runtime Environment Independence @String Library Function Call => Portability
Scope Definition Consistency @Source code part [Root]
Refined By
Scope Definition Consistency @Field [Object-orientation]
Measured By
Masks a superclass field [Java]
Determined By
Java/Masks a superclass field/MF_CLASS_MASKS_FIELD [FindBugs]
Evaluated By
Java/Scope Definition Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Scope Definition Consistency @Field => Analyzability
Scope Definition Consistency @Field => Functional Correctness
Scope Definition Consistency @Field => Modifiability
Scope Usage Consistency @Source code part [Root]
Refined By
Scope Usage Consistency @Method invocation [Root]
Measured By
Ambiguous invocation of an inherited or outer method [Java]
Determined By
Java/Ambiguous invocation of an inherited or outer method/IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD [FindBugs]
Static Thread.interrupted() method invoked on thread instance [Java]
Determined By
Java/Static Thread.interrupted() method invoked on thread instance/STI_INTERRUPTED_ON_UNKNOWNTHREAD [FindBugs]
Evaluated By
Java/Scope Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Scope Usage Consistency @Method invocation => Analyzability
Scope Usage Consistency @Method invocation => Functional Correctness
Scope Usage Consistency @Method invocation => Modifiability
Scope Usage Consistency @Method invocation => Reliability
Serialization Indicator Present @Source code part [Root]
Serialization Integrity @Source code part [Root]
Refined By
Serialization Integrity @HTTP statement [Root]
Measured By
Store of non serializable object into HttpSession [Java]
Determined By
Java/Store of non serializable object into HttpSession/J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION [FindBugs]
Evaluated By
Java/Serialization Integrity @HTTP statement/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @HTTP statement => Reliability
Serialization Integrity @Inner Class [Object-orientation]
Measured By
Non-serializable class has a serializable inner class [Java]
Determined By
Java/Non-serializable class has a serializable inner class/SE_BAD_FIELD_INNER_CLASS [FindBugs]
Evaluated By
Java/Serialization Integrity @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @Inner Class => Reliability
Serialization Integrity @Method invocation [Root]
Measured By
Non serializable object written to ObjectOutput [Java]
Determined By
Java/Non serializable object written to ObjectOutput/DMI_NONSERIALIZABLE_OBJECT_WRITTEN [FindBugs]
Evaluated By
Java/Serialization Integrity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @Method invocation => Functional Correctness
Serialization Integrity @Method invocation => Reliability
Serialization Interface Integrity @Source code part [Root]
Refined By
Serialization Interface Integrity @Class [Object-orientation]
Measured By
Class is Externalizable but doesn't define a void constructor [Java]
Determined By
Java/Class is Externalizable but doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION [FindBugs]
Class is Serializable but its superclass doesn't define a void constructor [Java]
Determined By
Java/Class is Serializable but its superclass doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR [FindBugs]
Comparator doesn't implement Serializable [Java]
Determined By
Java/Comparator doesn't implement Serializable/SE_COMPARATOR_SHOULD_BE_SERIALIZABLE [FindBugs]
Incorrect implementation of ISerializable [C#]
Determined By
C#/Incorrect implementation of ISerializable/ImplementISerializableCorrectlyRule [Gendarme]
Incorrect signature for serialization [C#]
Determined By
C#/Incorrect signature for serialization/UseCorrectSignatureForSerializationMethodsRule [Gendarme]
Method must be private in order for serialization to work [Java]
Determined By
Java/Method must be private in order for serialization to work/SE_METHOD_MUST_BE_PRIVATE [FindBugs]
Missing serializable attribute on ISerializable [C#]
Determined By
C#/Missing serializable attribute on ISerializable/MissingSerializableAttributeOnISerializableTypeRule [Gendarme]
Missing serialization constructor [C#]
Determined By
C#/Missing serialization constructor/MissingSerializationConstructorRule [Gendarme]
Non-transient non-serializable instance field in serializable class [Java]
Determined By
Java/Non-transient non-serializable instance field in serializable class/SE_BAD_FIELD [FindBugs]
The readResolve method must be declared with a return type of Object. [Java]
Determined By
Java/The readResolve method must be declared with a return type of Object./SE_READ_RESOLVE_MUST_RETURN_OBJECT [FindBugs]
The readResolve method must not be declared as a static method [Java]
Determined By
Java/The readResolve method must not be declared as a static method/SE_READ_RESOLVE_IS_STATIC [FindBugs]
Transient field of class that isn't serializable [Java]
Determined By
Java/Transient field of class that isn't serializable/SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS [FindBugs]
Transient field that isn't set by deserialization. [Java]
Determined By
Java/Transient field that isn't set by deserialization./SE_TRANSIENT_FIELD_NOT_RESTORED [FindBugs]
Undecorated methods optional field [C#]
Determined By
C#/Undecorated methods optional field/DeserializeOptionalFieldRule [Gendarme]
Unmarked non-serializable fields [C#]
Determined By
C#/Unmarked non-serializable fields/MarkAllNonSerializableFieldsRule [Gendarme]
Evaluated By
C#/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Class => Functional Correctness
Serialization Interface Integrity @Class => Reliability
Serialization Interface Integrity @Serialization Attribute [Object-orientation]
Measured By
Doesn't define serialVersionUID [Java]
Determined By
Java/Doesn't define serialVersionUID/SE_NO_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't final [Java]
Determined By
Java/SerialVersionUID isn't final/SE_NONFINAL_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't long [Java]
Determined By
Java/SerialVersionUID isn't long/SE_NONLONG_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't static [Java]
Determined By
Java/SerialVersionUID isn't static/SE_NONSTATIC_SERIALVERSIONID [FindBugs]
Evaluated By
Java/Serialization Interface Integrity @Serialization Attribute/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Serialization Attribute => Functional Correctness
Serialization Interface Integrity @Serialization Attribute => Modifiability
Serialization Interface Integrity @Serialization Attribute => Portability
Serialization Usage Integrity @Source code part [Root]
Refined By
Serialization Usage Integrity @Class [Object-orientation]
Measured By
Non-serializable value stored into instance field of a serializable class [Java]
Determined By
Java/Non-serializable value stored into instance field of a serializable class/SE_BAD_FIELD_STORE [FindBugs]
Uncalled base methods on ISerializable [C#]
Determined By
C#/Uncalled base methods on ISerializable/CallBaseMethodsOnISerializableTypesRule [Gendarme]
Evaluated By
C#/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Usage Integrity @Class => Functional Correctness
Serialization Usage Integrity @Class => Reliability
Signature Consistency @Source code part [Root]
Refined By
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Synchronization Integrity @Source code part [Root]
Refined By
Synchronization Integrity @Array [Root]
Measured By
Volatile reference to an array [Java]
Determined By
Java/Volatile reference to an array/VO_VOLATILE_REFERENCE_TO_ARRAY [FindBugs]
Evaluated By
Java/Synchronization Integrity @Array/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Array => Analyzability
Synchronization Integrity @Array => Functional Correctness
Synchronization Integrity @Assignment statement [Root]
Measured By
Write to static field from instance method [Java]
Determined By
Java/Write to static field from instance method/ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD [FindBugs]
Writes static field from instance [C#]
Determined By
C#/Writes static field from instance/WriteStaticFieldFromInstanceMethodRule [Gendarme]
Evaluated By
C#/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Assignment statement => Analyzability
Synchronization Integrity @Assignment statement => Reliability
Synchronization Integrity @Catch Statement [Root]
Measured By
Dubious catching of IllegalMonitorStateException [Java]
Determined By
Java/Dubious catching of IllegalMonitorStateException/IMSE_DONT_CATCH_IMSE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Catch Statement => Analyzability
Synchronization Integrity @Catch Statement => Modifiability
Synchronization Integrity @Catch Statement => Reliability
Synchronization Integrity @Class [Object-orientation]
Measured By
Class's writeObject() method is synchronized but nothing else is [Java]
Determined By
Java/Class's writeObject() method is synchronized but nothing else is/WS_WRITEOBJECT_SYNC [FindBugs]
Inconsistent synchronization [Java]
Determined By
Java/Inconsistent synchronization/IS2_INCONSISTENT_SYNC [FindBugs]
Synchronization on getClass rather than class literal [Java]
Determined By
Java/Synchronization on getClass rather than class literal/WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL [FindBugs]
Unsynchronized get method, synchronized set method [Java]
Determined By
Java/Unsynchronized get method, synchronized set method/UG_SYNC_SET_UNSYNC_GET [FindBugs]
Evaluated By
Java/Synchronization Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Class => Analyzability
Synchronization Integrity @Class => Reliability
Synchronization Integrity @Date or Time Statement [Root]
Measured By
Call to static Calendar [Java]
Determined By
Java/Call to static Calendar/STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE [FindBugs]
Call to static DateFormat [Java]
Determined By
Java/Call to static DateFormat/STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Date or Time Statement => Analyzability
Synchronization Integrity @Date or Time Statement => Functional Correctness
Synchronization Integrity @Field [Object-orientation]
Measured By
Lazy initialization of non-volatile static field [Java]
Determined By
Java/Lazy initialization of non-volatile static field/LI_LAZY_INIT_STATIC [FindBugs]
Lazy initialization of static field [Java]
Determined By
Java/Lazy initialization of static field/LI_LAZY_INIT_UPDATE_STATIC [FindBugs]
Method spins on field [Java]
Determined By
Java/Method spins on field/SP_SPIN_ON_FIELD [FindBugs]
Mutable servlet field [Java]
Determined By
Java/Mutable servlet field/MSF_MUTABLE_SERVLET_FIELD [FindBugs]
Non constant and static [Object-orientation]
Determined By
C#/Non constant and static/NonConstantStaticFieldsShouldNotBeVisibleRule [Gendarme]
Java/Non constant and static/MS_SHOULD_BE_FINAL [FindBugs]
Static Calendar [Java]
Determined By
Java/Static Calendar/STCAL_STATIC_CALENDAR_INSTANCE [FindBugs]
Static DateFormat [Java]
Determined By
Java/Static DateFormat/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
C#/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Field => Functional Correctness
Synchronization Integrity @Field => Reliability
Synchronization Integrity @Inner Class [Object-orientation]
Measured By
Deadly embrace of non-static inner class and thread local [Java]
Determined By
Java/Deadly embrace of non-static inner class and thread local/SIC_THREADLOCAL_DEADLY_EMBRACE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Inner Class => Reliability
Synchronization Integrity @Inner Class => Resource Utilization
Synchronization Integrity @Library function call [Root]
Measured By
Invocation of runFinalizersOnExit [Java]
Determined By
Java/Invocation of runFinalizersOnExit/DM_RUN_FINALIZERS_ON_EXIT [FindBugs]
Evaluated By
Java/Synchronization Integrity @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Library function call => Analyzability
Synchronization Integrity @Library function call => Functional Correctness
Synchronization Integrity @Library function call => Portability
Synchronization Integrity @Library function call => Reliability
Synchronization Integrity @Method [Object-orientation]
Measured By
Empty synchronized block [Java]
Determined By
Java/Empty synchronized block/ESync_EMPTY_SYNC [FindBugs]
Locked region across subroutines [C#]
Determined By
C#/Locked region across subroutines/DoNotUseLockedRegionOutsideMethodRule [Gendarme]
Method does not release lock on all exception paths [Java]
Determined By
Java/Method does not release lock on all exception paths/UL_UNRELEASED_LOCK_EXCEPTION_PATH [FindBugs]
Method does not release lock on all paths [Java]
Determined By
Java/Method does not release lock on all paths/UL_UNRELEASED_LOCK [FindBugs]
Mismatched notify() [Java]
Determined By
Java/Mismatched notify()/MWN_MISMATCHED_NOTIFY [FindBugs]
Mismatched wait() [Java]
Determined By
Java/Mismatched wait()/MWN_MISMATCHED_WAIT [FindBugs]
Unconditional wait [Java]
Determined By
Java/Unconditional wait/UW_UNCOND_WAIT [FindBugs]
Evaluated By
C#/Synchronization Integrity @Method/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Method => Reliability
Synchronization Integrity @Synchronization statement [Root]
Measured By
Locked region outside [C#]
Determined By
C#/Locked region outside/DoNotUseLockedRegionOutsideMethodRule [Gendarme]
Method synchronizes on an updated field [Java]
Determined By
Java/Method synchronizes on an updated field/ML_SYNC_ON_UPDATED_FIELD [FindBugs]
Synchronization on Boolean [Java]
Determined By
Java/Synchronization on Boolean/DL_SYNCHRONIZATION_ON_BOOLEAN [FindBugs]
Synchronization on boxed primitive constant [Java]
Determined By
Java/Synchronization on boxed primitive constant/DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE [FindBugs]
Synchronization on boxed primitive value [Java]
Determined By
Java/Synchronization on boxed primitive value/DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE [FindBugs]
Synchronization on field in futile attempt to guard that field [Java]
Determined By
Java/Synchronization on field in futile attempt to guard that field/ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD [FindBugs]
Synchronization on interned String [Java]
Determined By
Java/Synchronization on interned String/DL_SYNCHRONIZATION_ON_SHARED_CONSTANT [FindBugs]
Synchronization performed on Lock [Java]
Determined By
Java/Synchronization performed on Lock/JLM_JSR166_LOCK_MONITORENTER [FindBugs]
Using notify() rather than notifyAll() [Java]
Determined By
Java/Using notify() rather than notifyAll()/NO_NOTIFY_NOT_NOTIFYALL [FindBugs]
Wait not in loop [Java]
Determined By
Java/Wait not in loop/WA_NOT_IN_LOOP [FindBugs]
Wait with two locks held [Java]
Determined By
Java/Wait with two locks held/TLW_TWO_LOCK_WAIT [FindBugs]
Evaluated By
C#/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Synchronization statement => Analyzability
Synchronization Integrity @Synchronization statement => Reliability
Synchronization Integrity @UI Library Function Call [Root]
Measured By
Certain swing methods needs to be invoked in Swing thread [Java]
Determined By
Java/Certain swing methods needs to be invoked in Swing thread/SW_SWING_METHODS_INVOKED_IN_SWING_THREAD [FindBugs]
Evaluated By
Java/Synchronization Integrity @UI Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @UI Library Function Call => Analyzability
Synchronization Integrity @UI Library Function Call => Reliability
Synchronization Interface Consistency @Source code part [Root]
Refined By
Synchronization Interface Consistency @Field [Object-orientation]
Measured By
Field not guarded against concurrent access [Java]
Determined By
Java/Field not guarded against concurrent access/IS_FIELD_NOT_GUARDED [FindBugs]
Evaluated By
Java/Synchronization Interface Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Interface Consistency @Field => Analyzability
Synchronization Interface Consistency @Field => Modifiability
Synchronization Interface Consistency @Field => Reliability
Synchronization Overhead @Source code part [Root]
Refined By
Synchronization Overhead @Class [Object-orientation]
Measured By
Class's readObject() method is synchronized [Java]
Determined By
Java/Class's readObject() method is synchronized/RS_READOBJECT_SYNC [FindBugs]
Evaluated By
Java/Synchronization Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Class => Analyzability
Synchronization Overhead @Class => Resource Utilization
Synchronization Overhead @Class => Time Behavior
Synchronization Overhead @Synchronization statement [Root]
Measured By
Lock not only used on locals [C#]
Determined By
C#/Lock not only used on locals/ReviewLockUsedOnlyForOperationsOnVariablesRule [Gendarme]
Method calls Thread.sleep() with a lock held [Java]
Determined By
Java/Method calls Thread.sleep() with a lock held/SWL_SLEEP_WITH_LOCK_HELD [FindBugs]
Used MethodImplOptions.Synchronized [C#]
Determined By
C#/Used MethodImplOptions.Synchronized/DoNotUseMethodImplOptionsSynchronizedRule [Gendarme]
Evaluated By
C#/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Synchronization statement => Modifiability
Synchronization Overhead @Synchronization statement => Reliability
Synchronization Overhead @Synchronization statement => Time Behavior
Termination @Source code part [Root]
Refined By
Termination @Subroutine [Root]
Measured By
An apparent infinite loop [Java]
Determined By
Java/An apparent infinite loop/IL_INFINITE_LOOP [FindBugs]
An apparent infinite recursive loop [Java]
Determined By
Java/An apparent infinite recursive loop/IL_INFINITE_RECURSIVE_LOOP [FindBugs]
Bad recursive [C#]
Determined By
C#/Bad recursive/BadRecursiveInvocationRule [Gendarme]
Recursion in equality operator [C#]
Determined By
C#/Recursion in equality operator/DoNotRecurseInEqualityRule [Gendarme]
Evaluated By
C#/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Java/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Impacts
Termination @Subroutine => Analyzability
Termination @Subroutine => Reliability
Type Generality @Source code part [Root]
Refined By
Type Generality @Catch Statement [Root]
Measured By
Exception is caught when Exception is not thrown [Java]
Determined By
Java/Exception is caught when Exception is not thrown/REC_CATCH_EXCEPTION [FindBugs]
Evaluated By
Java/Type Generality @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Catch Statement => Analyzability
Type Generality @Catch Statement => Functional Correctness
Type Generality @Method parameter [Object-orientation]
Measured By
Overspecialized [C#]
Determined By
C#/Overspecialized/AvoidUnnecessarySpecializationRule [Gendarme]
Evaluated By
C#/Type Generality @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Method parameter => Analyzability
Type Generality @Method parameter => Modifiability
Type Generality @Method parameter => Reusability
Type Generality @Type cast [Root]
Measured By
Questionable cast to abstract collection [Java]
Determined By
Java/Questionable cast to abstract collection/BC_BAD_CAST_TO_ABSTRACT_COLLECTION [FindBugs]
Questionable cast to concrete collection [Java]
Determined By
Java/Questionable cast to concrete collection/BC_BAD_CAST_TO_CONCRETE_COLLECTION [FindBugs]
Evaluated By
Java/Type Generality @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Type cast => Analyzability
Type Generality @Type cast => Modifiability
Type Generality @Type cast => Reusability
Type Generality @XML Library Statement [Root]
Measured By
Method directly allocates a specific implementation of xml interfaces [Java]
Determined By
Java/Method directly allocates a specific implementation of xml interfaces/XFB_XML_FACTORY_BYPASS [FindBugs]
Evaluated By
Java/Type Generality @XML Library Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @XML Library Statement => Analyzability
Type Generality @XML Library Statement => Modifiability
Type Generality @XML Library Statement => Portability
Unintentional Side-Effect @Source code part [Root]
Refined By
Unintentional Side-Effect @Boolean expression [Root]
Measured By
Potentially dangerous use of non-short-circuit logic [Java]
Determined By
Java/Potentially dangerous use of non-short-circuit logic/NS_DANGEROUS_NON_SHORT_CIRCUIT [FindBugs]
Questionable use of non-short-circuit logic [Java]
Determined By
Java/Questionable use of non-short-circuit logic/NS_NON_SHORT_CIRCUIT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Boolean expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Boolean expression => Reliability
Unintentional Side-Effect @Boolean expression => Resource Utilization
Unintentional Side-Effect @Boolean expression => Time Behavior
Unintentional Side-Effect @Collection Statement [Root]
Measured By
A collection is added to itself [Java]
Determined By
Java/A collection is added to itself/IL_CONTAINER_ADDED_TO_ITSELF [FindBugs]
Creation of Maps and sets of URLs [Java]
Determined By
Java/Creation of Maps and sets of URLs/DMI_COLLECTION_OF_URLS [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Collection Statement => Functional Correctness
Unintentional Side-Effect @Collection Statement => Reliability
Unintentional Side-Effect @Collection Statement => Time Behavior
Unintentional Side-Effect @Comparison expression [Root]
Measured By
Calling the equals and hashCode method of URL [Java]
Determined By
Java/Calling the equals and hashCode method of URL/DMI_BLOCKING_METHODS_ON_URL [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Comparison expression => Time Behavior
Unintentional Side-Effect @Constructor [Object-orientation]
Measured By
Calls virtual method [C#]
Determined By
C#/Calls virtual method/ConstructorShouldNotCallVirtualMethodsRule [Gendarme]
Evaluated By
C#/Unintentional Side-Effect @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Constructor => Analyzability
Unintentional Side-Effect @Constructor => Functional Correctness
Unintentional Side-Effect @Constructor => Modifiability
Unintentional Side-Effect @Constructor => Reliability
Unintentional Side-Effect @IO Library Function Call [Root]
Measured By
Method ignores results of InputStream.read() [Java]
Determined By
Java/Method ignores results of InputStream.read()/RR_NOT_CHECKED [FindBugs]
Method ignores results of InputStream.skip() [Java]
Determined By
Java/Method ignores results of InputStream.skip()/SR_NOT_CHECKED [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @IO Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @IO Library Function Call => Analyzability
Unintentional Side-Effect @IO Library Function Call => Functional Correctness
Unintentional Side-Effect @Library function call [Root]
Measured By
Call to problematic method [C#]
Determined By
C#/Call to problematic method/AvoidCallingProblematicMethodsRule [Gendarme]
Invocation of System.exit(...) [Java]
Determined By
Java/Invocation of System.exit(...)/DM_EXIT [FindBugs]
Evaluated By
C#/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Java/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Library function call => Functional Correctness
Unintentional Side-Effect @Library function call => Reliability
Unintentional Side-Effect @Local variable [Root]
Measured By
Obscures a field [Java]
Determined By
Java/Obscures a field/MF_METHOD_MASKS_FIELD [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Local variable => Functional Correctness
Unintentional Side-Effect @Mathematical Library Function Call [Root]
Measured By
Random object created and used only once [Java]
Determined By
Java/Random object created and used only once/DMI_RANDOM_USED_ONLY_ONCE [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Mathematical Library Function Call => Functional Correctness
Unintentional Side-Effect @Mathematical expression [Root]
Measured By
Bad attempt to compute absolute value of signed 32-bit hashcode [Java]
Determined By
Java/Bad attempt to compute absolute value of signed 32-bit hashcode/RV_ABSOLUTE_VALUE_OF_HASHCODE [FindBugs]
Bad attempt to compute absolute value of signed 32-bit random integer [Java]
Determined By
Java/Bad attempt to compute absolute value of signed 32-bit random integer/RV_ABSOLUTE_VALUE_OF_RANDOM_INT [FindBugs]
Overwritten increment [Java]
Determined By
Java/Overwritten increment/DLS_OVERWRITTEN_INCREMENT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Mathematical expression => Functional Correctness
Unintentional Side-Effect @Object Allocation Statement [Root]
Measured By
Initialization circularity [Java]
Determined By
Java/Initialization circularity/IC_INIT_CIRCULARITY [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Object Allocation Statement => Analyzability
Unintentional Side-Effect @Object Allocation Statement => Reliability
Unnecessarily Complicated @Source code part [Root]
Refined By
Unnecessarily Complicated @Bitwise logical expression [Root]
Measured By
32 bit int shifted by an amount not in the range 0..31 [Java]
Determined By
Java/32 bit int shifted by an amount not in the range 0..31/ICAST_BAD_SHIFT_AMOUNT [FindBugs]
Check to see if ((...) & 0) == 0 [Java]
Determined By
Java/Check to see if ((...) & 0) == 0/BIT_AND_ZZ [FindBugs]
Incompatible bit masks (AND) [Java]
Determined By
Java/Incompatible bit masks (AND)/BIT_AND [FindBugs]
Incompatible bit masks (OR) [Java]
Determined By
Java/Incompatible bit masks (OR)/BIT_IOR [FindBugs]
Unsigned right shift cast to short/byte [Java]
Determined By
Java/Unsigned right shift cast to short/byte/ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Bitwise logical expression => Analyzability
Unnecessarily Complicated @Bitwise logical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression => Resource Utilization
Unnecessarily Complicated @Bitwise logical expression => Time Behavior
Unnecessarily Complicated @Boolean expression [Root]
Impacts
Unnecessarily Complicated @Boolean expression => Analyzability
Unnecessarily Complicated @Boolean expression => Functional Correctness
Unnecessarily Complicated @Boolean expression => Resource Utilization
Unnecessarily Complicated @Boolean expression => Time Behavior
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Comparison expression [Root]
Measured By
Assigns boolean literal in boolean expression [Java]
Determined By
Java/Assigns boolean literal in boolean expression/QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT [FindBugs]
Bad comparison of nonnegative value with negative constant [Java]
Determined By
Java/Bad comparison of nonnegative value with negative constant/INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE [FindBugs]
Bad comparison of signed byte [Java]
Determined By
Java/Bad comparison of signed byte/INT_BAD_COMPARISON_WITH_SIGNED_BYTE [FindBugs]
Equals used to compare array and nonarray [Java]
Determined By
Java/Equals used to compare array and nonarray/EC_ARRAY_AND_NONARRAY [FindBugs]
Equals used to compare incompatible arrays [Java]
Determined By
Java/Equals used to compare incompatible arrays/EC_INCOMPATIBLE_ARRAY_COMPARE [FindBugs]
Equals with null [C#]
Determined By
C#/Equals with null/CallingEqualsWithNullArgRule [Gendarme]
Null argument [Java]
Determined By
Java/Null argument/EC_NULL_ARG [FindBugs]
Self comparison of field with itself [Java]
Determined By
Java/Self comparison of field with itself/SA_FIELD_SELF_COMPARISON [FindBugs]
Self comparison of value with itself [Java]
Determined By
Java/Self comparison of value with itself/SA_LOCAL_SELF_COMPARISON [FindBugs]
Using pointer equality to compare different types [Java]
Determined By
Java/Using pointer equality to compare different types/EC_UNRELATED_TYPES_USING_POINTER_EQUALITY [FindBugs]
Vacuous comparison of integer value [Java]
Determined By
Java/Vacuous comparison of integer value/INT_VACUOUS_COMPARISON [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Comparison expression => Analyzability
Unnecessarily Complicated @Comparison expression => Functional Correctness
Unnecessarily Complicated @Comparison expression => Resource Utilization
Unnecessarily Complicated @Comparison expression => Time Behavior
Unnecessarily Complicated @Conditional statement [Root]
Measured By
Repeated conditional tests [Java]
Determined By
Java/Repeated conditional tests/RpC_REPEATED_CONDITIONAL_TEST [FindBugs]
Same code for two branches [Java]
Determined By
Java/Same code for two branches/DB_DUPLICATE_BRANCHES [FindBugs]
Same code for two switch clauses [Java]
Determined By
Java/Same code for two switch clauses/DB_DUPLICATE_SWITCH_CLAUSES [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Conditional statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Conditional statement => Analyzability
Unnecessarily Complicated @Conditional statement => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call [Root]
Measured By
Method calls static Math class method on a constant value [Java]
Determined By
Java/Method calls static Math class method on a constant value/UM_UNNECESSARY_MATH [FindBugs]
Unnecessary call of nextDouble to generate a random integer [Java]
Determined By
Java/Unnecessary call of nextDouble to generate a random integer/DM_NEXTINT_VIA_NEXTDOUBLE [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical Library Function Call => Analyzability
Unnecessarily Complicated @Mathematical Library Function Call => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call => Resource Utilization
Unnecessarily Complicated @Mathematical Library Function Call => Time Behavior
Unnecessarily Complicated @Mathematical expression [Root]
Measured By
Modulo 1 on integral type [Root]
Determined By
C#/Modulo 1 on integral type/ReviewUseOfModuloOneOnIntegersRule [Gendarme]
Java/Modulo 1 on integral type/INT_BAD_REM_BY_1 [FindBugs]
Nonsensical self computation involving a field [Java]
Determined By
Java/Nonsensical self computation involving a field/SA_FIELD_SELF_COMPUTATION [FindBugs]
Nonsensical self computation involving a variable [Java]
Determined By
Java/Nonsensical self computation involving a variable/SA_LOCAL_SELF_COMPUTATION [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical expression => Analyzability
Unnecessarily Complicated @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Mathematical expression => Resource Utilization
Unnecessarily Complicated @Mathematical expression => Time Behavior
Unnecessarily Complicated @Namespace [Root]
Measured By
Deep hierarchy [C#]
Determined By
C#/Deep hierarchy/AvoidDeepNamespaceHierarchyRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Namespace => Analyzability
Unnecessarily Complicated @Regular expression [Root]
Measured By
. used for regular expression [Java]
Determined By
Java/. used for regular expression/RE_POSSIBLE_UNINTENDED_PATTERN [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Regular expression => Analyzability
Unnecessarily Complicated @Regular expression => Functional Correctness
Unnecessarily Complicated @Regular expression => Resource Utilization
Unnecessarily Complicated @Regular expression => Time Behavior
Unnecessarily Complicated @String Library Function Call [Root]
Measured By
Invocation of substring(0) [Java]
Determined By
Java/Invocation of substring(0)/DMI_USELESS_SUBSTRING [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @String Library Function Call => Analyzability
Unnecessarily Complicated @String Library Function Call => Functional Correctness
Unnecessarily Complicated @String Library Function Call => Resource Utilization
Unnecessarily Complicated @String Library Function Call => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Unnecessarily Complicated @Type conversion expression [Root]
Measured By
Double.longBitsToDouble invoked on an int [Java]
Determined By
Java/Double.longBitsToDouble invoked on an int/DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT [FindBugs]
Invalid BitConverter.Int64BitsToDouble [C#]
Determined By
C#/Invalid BitConverter.Int64BitsToDouble/ReviewUseOfInt64BitsToDoubleRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type conversion expression => Analyzability
Unnecessarily Complicated @Type conversion expression => Functional Correctness
Unnecessarily Complicated @Type identification statement [Root]
Measured By
Always false [Java]
Determined By
Java/Always false/BC_IMPOSSIBLE_INSTANCEOF [FindBugs]
Always true [Java]
Determined By
Java/Always true/BC_VACUOUS_INSTANCEOF [FindBugs]
Comparing different interface types [Java]
Determined By
Java/Comparing different interface types/EC_UNRELATED_INTERFACES [FindBugs]
Comparing different types [Java]
Determined By
Java/Comparing different types/EC_UNRELATED_TYPES [FindBugs]
Comparing unrelated class and interface [Java]
Determined By
Java/Comparing unrelated class and interface/EC_UNRELATED_CLASS_AND_INTERFACE [FindBugs]
Known null value [Java]
Determined By
Java/Known null value/NP_NULL_INSTANCEOF [FindBugs]
Method allocates an object, only to get the class object [Java]
Determined By
Java/Method allocates an object, only to get the class object/DM_NEW_FOR_GETCLASS [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type identification statement => Analyzability
Unnecessarily Complicated @Type identification statement => Functional Correctness
Unnecessarily Complicated @Type identification statement => Resource Utilization
Unnecessarily Complicated @Type identification statement => Time Behavior
Unneeded Resource Overhead @Source code part [Root]
Refined By
Unneeded Resource Overhead @Class [Object-orientation]
Measured By
Too general [C#]
Determined By
C#/Too general/AvoidSpeculativeGeneralityRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Class => Analyzability
Unneeded Resource Overhead @Class => Resource Utilization
Unneeded Resource Overhead @Class => Time Behavior
Unneeded Resource Overhead @Collection Statement [Root]
Measured By
Inefficient use of keySet iterator instead of entrySet iterator [Java]
Determined By
Java/Inefficient use of keySet iterator instead of entrySet iterator/WMI_WRONG_MAP_ITERATOR [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Collection Statement => Resource Utilization
Unneeded Resource Overhead @Collection Statement => Time Behavior
Unneeded Resource Overhead @Comparison expression [Root]
Measured By
Inefficient comparison with empty string [C#]
Determined By
C#/Inefficient comparison with empty string/CompareWithEmptyStringEfficientlyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Comparison expression => Resource Utilization
Unneeded Resource Overhead @Comparison expression => Time Behavior
Unneeded Resource Overhead @Field [Object-orientation]
Measured By
Literal candidate [C#]
Determined By
C#/Literal candidate/PreferLiteralOverInitOnlyFieldsRule [Gendarme]
Should be nullable [C#]
Determined By
C#/Should be nullable/ConsiderConvertingFieldToNullableRule [Gendarme]
Unneeded Initialization [C#]
Determined By
C#/Unneeded Initialization/AvoidUnneededFieldInitializationRule [Gendarme]
Unsealed and concrete [C#]
Determined By
C#/Unsealed and concrete/AvoidUnsealedConcreteAttributesRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Field/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Field => Analyzability
Unneeded Resource Overhead @Field => Resource Utilization
Unneeded Resource Overhead @Field => Time Behavior
Unneeded Resource Overhead @Inner Class [Object-orientation]
Measured By
Could be refactored into a named static inner class [Java]
Determined By
Java/Could be refactored into a named static inner class/SIC_INNER_SHOULD_BE_STATIC_ANON [FindBugs]
Could be refactored into a static inner class [Java]
Determined By
Java/Could be refactored into a static inner class/SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS [FindBugs]
Serializable inner class [Java]
Determined By
Java/Serializable inner class/SE_INNER_CLASS [FindBugs]
Should be a static inner class [Java]
Determined By
Java/Should be a static inner class/SIC_INNER_SHOULD_BE_STATIC [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Inner Class => Resource Utilization
Unneeded Resource Overhead @Internal class [Object-orientation]
Measured By
Uninherited and unsealed [C#]
Determined By
C#/Uninherited and unsealed/AvoidUnsealedUninheritedInternalTypeRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Internal class => Analyzability
Unneeded Resource Overhead @Internal class => Time Behavior
Unneeded Resource Overhead @Library function call [Root]
Measured By
Method uses toArray() with zero-length array argument [Java]
Determined By
Java/Method uses toArray() with zero-length array argument/ITA_INEFFICIENT_TO_ARRAY [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Library function call => Resource Utilization
Unneeded Resource Overhead @Library function call => Time Behavior
Unneeded Resource Overhead @Method [Object-orientation]
Measured By
Could be static [C#]
Determined By
C#/Could be static/MethodCanBeMadeStaticRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Method/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Method => Analyzability
Unneeded Resource Overhead @Method => Resource Utilization
Unneeded Resource Overhead @Method => Time Behavior
Unneeded Resource Overhead @Object Allocation Statement [Root]
Measured By
EmptyTypes Candidate [C#]
Determined By
C#/EmptyTypes Candidate/UseTypeEmptyTypesRule [Gendarme]
Invocation of Boolean constructor [Java]
Determined By
Java/Invocation of Boolean constructor/DM_BOOLEAN_CTOR [FindBugs]
Invocation of new String() constructor [Java]
Determined By
Java/Invocation of new String() constructor/DM_STRING_VOID_CTOR [FindBugs]
Invocation of new String(String) constructor [Java]
Determined By
Java/Invocation of new String(String) constructor/DM_STRING_CTOR [FindBugs]
Method invokes inefficient Number constructor [Java]
Determined By
Java/Method invokes inefficient Number constructor/DM_NUMBER_CTOR [FindBugs]
Method invokes inefficient floating-point Number constructor [Java]
Determined By
Java/Method invokes inefficient floating-point Number constructor/DM_FP_NUMBER_CTOR [FindBugs]
String.Empty Candidate [C#]
Determined By
C#/String.Empty Candidate/UseStringEmptyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Object Allocation Statement => Analyzability
Unneeded Resource Overhead @Object Allocation Statement => Resource Utilization
Unneeded Resource Overhead @Object Allocation Statement => Time Behavior
Unneeded Resource Overhead @String handling statement [Root]
Measured By
Concatenation of strings using + in a loop [Java]
Determined By
Java/Concatenation of strings using + in a loop/SBSC_USE_STRINGBUFFER_CONCATENATION [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @String handling statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @String handling statement => Resource Utilization
Unneeded Resource Overhead @String handling statement => Time Behavior
Unneeded Resource Overhead @Thread Library Function Call [Root]
Measured By
Unneeded use of currentThread() call, to call interrupted() [Java]
Determined By
Java/Unneeded use of currentThread() call, to call interrupted()/STI_INTERRUPTED_ON_CURRENTTHREAD [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Thread Library Function Call => Resource Utilization
Unneeded Resource Overhead @Thread Library Function Call => Time Behavior
Unneeded Resource Overhead @Type conversion expression [Root]
Measured By
Method allocates a boxed primitive just to call toString [Java]
Determined By
Java/Method allocates a boxed primitive just to call toString/DM_BOXED_PRIMITIVE_TOSTRING [FindBugs]
Primitive value is boxed and then immediately unboxed [Java]
Determined By
Java/Primitive value is boxed and then immediately unboxed/BX_BOXING_IMMEDIATELY_UNBOXED [FindBugs]
Primitive value is boxed then unboxed to perform primitive coercion [Java]
Determined By
Java/Primitive value is boxed then unboxed to perform primitive coercion/BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION [FindBugs]
Primitive value is unboxed and coerced for ternary operator [Java]
Determined By
Java/Primitive value is unboxed and coerced for ternary operator/BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR [FindBugs]
Unneeded [C#]
Determined By
C#/Unneeded/AvoidUnneededUnboxingRule [Gendarme]
Evaluated By
Java/Unneeded Resource Overhead @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type conversion expression => Analyzability
Unneeded Resource Overhead @Type conversion expression => Resource Utilization
Unneeded Resource Overhead @Type conversion expression => Time Behavior
Unneeded Resource Overhead @Type identification statement [Root]
Measured By
Enum.IsAssignableFrom [C#]
Determined By
C#/Enum.IsAssignableFrom/DoNotUseEnumIsAssignableFromRule [Gendarme]
Type.GetType for constant strings [C#]
Determined By
C#/Type.GetType for constant strings/AvoidTypeGetTypeForConstantStringsRule [Gendarme]
Unnecessary type check done using instanceof operator [Java]
Determined By
Java/Unnecessary type check done using instanceof operator/SIO_SUPERFLUOUS_INSTANCEOF [FindBugs]
Evaluated By
C#/Unneeded Resource Overhead @Type identification statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type identification statement => Time Behavior
Untrusted Data Sanitization @Source code part [Root]
Refined By
Untrusted Data Sanitization @Database statement [Root]
Measured By
A prepared statement is generated from a nonconstant String [Java]
Determined By
Java/A prepared statement is generated from a nonconstant String/SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING [FindBugs]
Nonconstant string passed to execute method on an SQL statement [Java]
Determined By
Java/Nonconstant string passed to execute method on an SQL statement/SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE [FindBugs]
Evaluated By
Java/Untrusted Data Sanitization @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Untrusted Data Sanitization @Database statement => Security
Untrusted Data Sanitization @HTTP statement [Root]
Measured By
Directly writes an HTTP parameter to an HTTP header [Java]
Determined By
Java/Directly writes an HTTP parameter to an HTTP header/HRS_REQUEST_PARAMETER_TO_HTTP_HEADER [FindBugs]
HTTP cookie formed from untrusted input [Java]
Determined By
Java/HTTP cookie formed from untrusted input/HRS_REQUEST_PARAMETER_TO_COOKIE [FindBugs]
JSP reflected cross site scripting vulnerability [Java]
Determined By
Java/JSP reflected cross site scripting vulnerability/XSS_REQUEST_PARAMETER_TO_JSP_WRITER [FindBugs]
Servlet reflected cross site scripting vulnerability through Servlet output [Java]
Determined By
Java/Servlet reflected cross site scripting vulnerability through Servlet output/XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER [FindBugs]
Servlet reflected cross site scripting vulnerability through error page [Java]
Determined By
Java/Servlet reflected cross site scripting vulnerability through error page/XSS_REQUEST_PARAMETER_TO_SEND_ERROR [FindBugs]
Evaluated By
Java/Untrusted Data Sanitization @HTTP statement/WeightedSumMultiMeasureEvaluation
Impacts
Untrusted Data Sanitization @HTTP statement => Security
Uselessness @Source code part [Root]
Refined By
Uselessness @Assignment statement [Root]
Measured By
A parameter is dead upon entry to a method but overwritten [Java]
Determined By
Java/A parameter is dead upon entry to a method but overwritten/IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN [FindBugs]
Assigns null [Java]
Determined By
Java/Assigns null/DLS_DEAD_LOCAL_STORE_OF_NULL [FindBugs]
Dead store due to switch statement fall through [Java]
Determined By
Java/Dead store due to switch statement fall through/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH [FindBugs]
Dead store due to switch statement fall through to throw [Java]
Determined By
Java/Dead store due to switch statement fall through to throw/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW [FindBugs]
Dead store to local variable [Java]
Determined By
Java/Dead store to local variable/DLS_DEAD_LOCAL_STORE [FindBugs]
Double assignment [C#]
Determined By
C#/Double assignment/ReviewDoubleAssignmentRule [Gendarme]
Double assignment of field [Java]
Determined By
Java/Double assignment of field/SA_FIELD_DOUBLE_ASSIGNMENT [FindBugs]
Double assignment of local variable [Java]
Determined By
Java/Double assignment of local variable/SA_LOCAL_DOUBLE_ASSIGNMENT [FindBugs]
Finalizer nulls fields [Java]
Determined By
Java/Finalizer nulls fields/FI_FINALIZER_NULLS_FIELDS [FindBugs]
Self assignment [C#]
Determined By
C#/Self assignment/ReviewSelfAssignmentRule [Gendarme]
Self assignment of field [Java]
Determined By
Java/Self assignment of field/SA_FIELD_SELF_ASSIGNMENT [FindBugs]
Self assignment of local variable [Java]
Determined By
Java/Self assignment of local variable/SA_LOCAL_SELF_ASSIGNMENT [FindBugs]
Useless assignment in return statement [Java]
Determined By
Java/Useless assignment in return statement/DLS_DEAD_LOCAL_STORE_IN_RETURN [FindBugs]
Evaluated By
C#/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Assignment statement => Analyzability
Uselessness @Assignment statement => Functional Correctness
Uselessness @Assignment statement => Resource Utilization
Uselessness @Assignment statement => Time Behavior
Uselessness @Control flow statement [Root]
Measured By
Nullcheck of value previously dereferenced [Java]
Determined By
Java/Nullcheck of value previously dereferenced/RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE [FindBugs]
Synchronize and null check on the same field [Java]
Determined By
Java/Synchronize and null check on the same field/NP_SYNC_AND_NULL_CHECK_FIELD [FindBugs]
Useless [C#]
Determined By
C#/Useless/ReviewUselessControlFlowRule [Gendarme]
Useless control flow [Java]
Determined By
Java/Useless control flow/UCF_USELESS_CONTROL_FLOW [FindBugs]
Useless control flow to next line [Java]
Determined By
Java/Useless control flow to next line/UCF_USELESS_CONTROL_FLOW_NEXT_LINE [FindBugs]
Evaluated By
C#/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Control flow statement => Analyzability
Uselessness @Control flow statement => Functional Correctness
Uselessness @Control flow statement => Resource Utilization
Uselessness @Control flow statement => Time Behavior
Uselessness @Deallocation statement [Root]
Measured By
Explicit [Java]
Determined By
Java/Explicit/DM_GC [FindBugs]
Evaluated By
Java/Uselessness @Deallocation statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Deallocation statement => Analyzability
Uselessness @Deallocation statement => Portability
Uselessness @Deallocation statement => Resource Utilization
Uselessness @Deallocation statement => Time Behavior
Uselessness @Destructor [Object-orientation]
Measured By
Empty [C#]
Determined By
C#/Empty/RemoveUnneededFinalizerRule [Gendarme]
Empty finalize [Java]
Determined By
Java/Empty finalize/FI_EMPTY [FindBugs]
Finalizer does nothing but call superclass finalizer [Java]
Determined By
Java/Finalizer does nothing but call superclass finalizer/FI_USELESS [FindBugs]
Finalizer only nulls fields [Java]
Determined By
Java/Finalizer only nulls fields/FI_FINALIZER_ONLY_NULLS_FIELDS [FindBugs]
Evaluated By
C#/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Destructor => Analyzability
Uselessness @Destructor => Resource Utilization
Uselessness @Destructor => Time Behavior
Uselessness @Enumeration Value [Root]
Measured By
With reserved [C#]
Determined By
C#/With reserved/DoNotUseReservedInEnumValueNamesRule [Gendarme]
Evaluated By
C#/Uselessness @Enumeration Value/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Enumeration Value => Analyzability
Uselessness @Enumeration Value => Modifiability
Uselessness @Enumeration Value => Testability
Uselessness @Expression [Root]
Measured By
Redundant comparison of non-null value to null [Java]
Determined By
Java/Redundant comparison of non-null value to null/RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE [FindBugs]
Redundant comparison of two null values [Java]
Determined By
Java/Redundant comparison of two null values/RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES [FindBugs]
Redundant nullcheck of value known to be non-null [Java]
Determined By
Java/Redundant nullcheck of value known to be non-null/RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE [FindBugs]
Redundant nullcheck of value known to be null [Java]
Determined By
Java/Redundant nullcheck of value known to be null/RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE [FindBugs]
Evaluated By
Java/Uselessness @Expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Expression => Analyzability
Uselessness @Expression => Resource Utilization
Uselessness @Expression => Time Behavior
Uselessness @Field [Object-orientation]
Measured By
Always null [C#]
Determined By
C#/Always null/AvoidAlwaysNullFieldRule [Gendarme]
Only ever set to null [Java]
Determined By
Java/Only ever set to null/UWF_NULL_FIELD [FindBugs]
Statically unused @Field [Object-orientation]
Determined By
C#/Statically unused @Field/AvoidUnusedPrivateFieldsRule [Gendarme]
Java/Statically unused @Field/UnusedPrivateField [PMD]
Unread [Java]
Determined By
Java/Unread/URF_UNREAD_FIELD [FindBugs]
Unused @Field [Java]
Determined By
Java/Unused @Field/UUF_UNUSED_FIELD [FindBugs]
Evaluated By
C#/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Field => Analyzability
Uselessness @Field => Functional Correctness
Uselessness @Field => Resource Utilization
Uselessness @Interface [Root]
Measured By
Empty interface [C#]
Determined By
C#/Empty interface/AvoidEmptyInterfaceRule [Gendarme]
Evaluated By
C#/Uselessness @Interface/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Interface => Analyzability
Uselessness @Internal class [Object-orientation]
Measured By
Uninstantiated [C#]
Determined By
C#/Uninstantiated/AvoidUninstantiatedInternalClassesRule [Gendarme]
Evaluated By
C#/Uselessness @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Internal class => Analyzability
Uselessness @Internal class => Functional Correctness
Uselessness @Library function call [Root]
Measured By
Creation of an empty jar file entry [Java]
Determined By
Java/Creation of an empty jar file entry/AM_CREATES_EMPTY_JAR_FILE_ENTRY [FindBugs]
Creation of an empty zip file entry [Java]
Determined By
Java/Creation of an empty zip file entry/AM_CREATES_EMPTY_ZIP_FILE_ENTRY [FindBugs]
Discard of result of readLine after checking if it is nonnull [Java]
Determined By
Java/Discard of result of readLine after checking if it is nonnull/RV_DONT_JUST_NULL_CHECK_READLINE [FindBugs]
Evaluated By
Java/Uselessness @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Library function call => Analyzability
Uselessness @Library function call => Functional Correctness
Uselessness @Library function call => Resource Utilization
Uselessness @Library function call => Time Behavior
Uselessness @Literal [Root]
Measured By
Unused @Literal [Java]
Determined By
Java/Unused @Literal/DLS_DEAD_STORE_OF_CLASS_LITERAL [FindBugs]
Evaluated By
Java/Uselessness @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Literal => Analyzability
Uselessness @Literal => Functional Correctness
Uselessness @Literal => Resource Utilization
Uselessness @Local variable [Root]
Measured By
Statically unused [Root]
Determined By
Java/Statically unused/UnusedLocalVariable [PMD]
Unused Local Variables [C#]
Determined By
C#/Unused Local Variables/RemoveUnusedLocalVariablesRule [Gendarme]
Evaluated By
Java/Uselessness @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Local variable => Analyzability
Uselessness @Local variable => Functional Correctness
Uselessness @Local variable => Resource Utilization
Uselessness @Mathematical Library Function Call [Root]
Measured By
Int value cast to float and then passed to Math.round [Java]
Determined By
Java/Int value cast to float and then passed to Math.round/ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND [FindBugs]
Integral value cast to double and then passed to Math.ceil [Java]
Determined By
Java/Integral value cast to double and then passed to Math.ceil/ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL [FindBugs]
Evaluated By
Java/Uselessness @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical Library Function Call => Time Behavior
Uselessness @Mathematical expression [Root]
Measured By
Random value from 0 to 1 is coerced to the integer 0 [Java]
Determined By
Java/Random value from 0 to 1 is coerced to the integer 0/RV_01_TO_INT [FindBugs]
Rounded integer [C#]
Determined By
C#/Rounded integer/DoNotRoundIntegersRule [Gendarme]
Evaluated By
C#/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical expression => Analyzability
Uselessness @Mathematical expression => Functional Correctness
Uselessness @Mathematical expression => Time Behavior
Uselessness @Method [Object-orientation]
Measured By
Never called [Java]
Determined By
Java/Never called/UPM_UNCALLED_PRIVATE_METHOD [FindBugs]
Statically unused @Method [Object-orientation]
Determined By
C#/Statically unused @Method/AvoidUncalledPrivateCodeRule [Gendarme]
Java/Statically unused @Method/UnusedPrivateMethod [PMD]
Uncallable method defined in anonymous class [Java]
Determined By
Java/Uncallable method defined in anonymous class/UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method => Analyzability
Uselessness @Method => Functional Correctness
Uselessness @Method => Resource Utilization
Uselessness @Method invocation [Root]
Measured By
Ignores return value of const method [Java]
Determined By
Java/Ignores return value of const method/RV_RETURN_VALUE_IGNORED [FindBugs]
Naked notify [Java]
Determined By
Java/Naked notify/NN_NAKED_NOTIFY [FindBugs]
Non-console application write to console [C#]
Determined By
C#/Non-console application write to console/DisableDebuggingCodeRule [Gendarme]
Evaluated By
C#/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method invocation => Functional Correctness
Uselessness @Method invocation => Resource Utilization
Uselessness @Method invocation => Time Behavior
Uselessness @Method parameter [Object-orientation]
Measured By
Does not use value in setter [C#]
Determined By
C#/Does not use value in setter/UseValueInPropertySetterRule [Gendarme]
Statically unused @Method parameter [Object-orientation]
Determined By
C#/Statically unused @Method parameter/AvoidUnusedParametersRule [Gendarme]
Java/Statically unused @Method parameter/UnusedFormalParameter [PMD]
Evaluated By
C#/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method parameter => Analyzability
Uselessness @Method parameter => Functional Correctness
Uselessness @Object Allocation Statement [Root]
Measured By
Exception created and dropped rather than thrown [Java]
Determined By
Java/Exception created and dropped rather than thrown/RV_EXCEPTION_NOT_THROWN [FindBugs]
Exception instantiated without throwing [C#]
Determined By
C#/Exception instantiated without throwing/CheckNewExceptionWithoutThrowingRule [Gendarme]
Needless instantiation of class that only supplies static methods [Java]
Determined By
Java/Needless instantiation of class that only supplies static methods/ISC_INSTANTIATE_STATIC_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Object Allocation Statement => Analyzability
Uselessness @Object Allocation Statement => Functional Correctness
Uselessness @Object Allocation Statement => Resource Utilization
Uselessness @Object Allocation Statement => Time Behavior
Uselessness @Public non interface method [Root]
Measured By
Proportion of statically unused non-private subroutines @Public non interface method [Root]
Determined By
Root/Proportion of statically unused non-private subroutines @Public non interface method/Manual Instrument
Evaluated By
Root/Uselessness @Public non interface method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Public non interface method => Analyzability
Uselessness @Public non interface method => Functional Correctness
Uselessness @Public non interface method => Resource Utilization
Uselessness @Public non interface method => Time Behavior
Uselessness @Source code comment [Root]
Measured By
Proportion of helpful comments @Source code comment [Root]
Determined By
Root/Proportion of helpful comments @Source code comment/Manual Instrument
Proportion of outdated comments [Root]
Determined By
Root/Proportion of outdated comments/Manual Instrument
Evaluated By
Root/Uselessness @Source code comment/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Source code comment => Analyzability
Uselessness @String Library Function Call [Root]
Measured By
Invocation of toString() method on a String [Java]
Determined By
Java/Invocation of toString() method on a String/DM_STRING_TOSTRING [FindBugs]
Unneeded calls [C#]
Determined By
C#/Unneeded calls/AvoidUnneededCallsOnStringRule [Gendarme]
Evaluated By
C#/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @String Library Function Call => Analyzability
Uselessness @String Library Function Call => Resource Utilization
Uselessness @String Library Function Call => Time Behavior
Uselessness @Test Class [Object-orientation]
Measured By
No tests [Java]
Determined By
Java/No tests/IJU_NO_TESTS [FindBugs]
Evaluated By
Java/Uselessness @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Test Class => Analyzability
Uselessness @Test Class => Testability
Uselessness @Thread [Root]
Measured By
Default empty run method [Java]
Determined By
Java/Default empty run method/DM_USELESS_THREAD [FindBugs]
New without start [C#]
Determined By
C#/New without start/CheckNewThreadWithoutStartRule [Gendarme]
Evaluated By
C#/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Thread => Analyzability
Uselessness @Thread => Functional Correctness
Uselessness @Thread => Resource Utilization
Uselessness @Thread => Time Behavior
Uselessness @Type cast [Root]
Measured By
Repetitive cast [C#]
Determined By
C#/Repetitive cast/AvoidRepetitiveCastsRule [Gendarme]
Evaluated By
C#/Uselessness @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Type cast => Analyzability
Uselessness @Type cast => Time Behavior
Value Validity @Source code part [Root]
Refined By
Value Validity @Field [Object-orientation]
Measured By
Read of unwritten field [Java]
Determined By
Java/Read of unwritten field/NP_UNWRITTEN_FIELD [FindBugs]
Uninitialized read of field in constructor [Java]
Determined By
Java/Uninitialized read of field in constructor/UR_UNINIT_READ [FindBugs]
Uninitialized read of field method called from constructor of superclass [Java]
Determined By
Java/Uninitialized read of field method called from constructor of superclass/UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR [FindBugs]
Evaluated By
Java/Value Validity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Field => Analyzability
Value Validity @Field => Reliability
Value Validity @Variable [Root]
Measured By
Value annotated as carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as carrying a type qualifier used in a contradicting way/TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED [FindBugs]
Value annotated as never carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as never carrying a type qualifier used in a contradicting way/TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED [FindBugs]
Value requires to be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Value requires to never be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to never be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might not carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might not carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Evaluated By
Java/Value Validity @Variable/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Variable => Analyzability
Value Validity @Variable => Reliability
Quality @Product [Root]
Refined By
Compatibility [Root]
Refined By
Co-Existence [Root]
Evaluated By
Root/Co-Existence/QIESLEvaluation
Interoperability [Root]
Evaluated By
Root/Interoperability/QIESLEvaluation
Evaluated By
Root/Compatibility/WeightedSumFactorAggregation
Functional Suitability [Root]
Refined By
Functional Appropriateness [Root]
Evaluated By
Root/Functional Appropriateness/QIESLEvaluation
Functional Completeness [Root]
Evaluated By
Root/Functional Completeness/QIESLEvaluation
Functional Correctness [Root]
Influenced By
Ambiguous Reference vs. Value Type Usage @Comparison expression [Root]
Measured By
Comparison of String objects using == or != [Java]
Determined By
Java/Comparison of String objects using == or !=/ES_COMPARING_STRINGS_WITH_EQ [FindBugs]
Comparison of String parameter using == or != [Java]
Determined By
Java/Comparison of String parameter using == or !=/ES_COMPARING_PARAMETER_STRING_WITH_EQ [FindBugs]
Comparison with empty string [C#]
Determined By
C#/Comparison with empty string/CompareWithStringEmptyEfficientlyRule [Gendarme]
Suspicious comparison of Boolean values [Java]
Determined By
Java/Suspicious comparison of Boolean values/RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN [FindBugs]
Suspicious reference comparison [Java]
Determined By
Java/Suspicious reference comparison/RC_REF_COMPARISON [FindBugs]
Suspicious reference comparison to constant [Java]
Determined By
Java/Suspicious reference comparison to constant/RC_REF_COMPARISON_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Comparison expression => Analyzability
Ambiguous Reference vs. Value Type Usage @Comparison expression => Functional Correctness
Ambiguous Reference vs. Value Type Usage @Comparison expression => Modifiability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Loop [Root]
Measured By
Complicated, subtle or wrong increment in for-loop [Java]
Determined By
Java/Complicated, subtle or wrong increment in for-loop/QF_QUESTIONABLE_FOR_LOOP [FindBugs]
Evaluated By
Java/Behavioral Integrity @Loop/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Loop => Analyzability
Behavioral Integrity @Loop => Functional Correctness
Definition and Usage Consistency @Annotation [Root]
Measured By
Missing runtime retention [Java]
Determined By
Java/Missing runtime retention/DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION [FindBugs]
Obsolete is empty [C#]
Determined By
C#/Obsolete is empty/ObsoleteMessagesShouldNotBeEmptyRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Annotation => Functional Correctness
Definition and Usage Consistency @Annotation => Modifiability
Definition and Usage Consistency @Array Library Function Call [Root]
Measured By
Invocation of hashCode on an array [Java]
Determined By
Java/Invocation of hashCode on an array/DMI_INVOKING_HASHCODE_ON_ARRAY [FindBugs]
Invocation of toString on an anonymous array [Java]
Determined By
Java/Invocation of toString on an anonymous array/DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY [FindBugs]
Invocation of toString on an array [Java]
Determined By
Java/Invocation of toString on an array/DMI_INVOKING_TOSTRING_ON_ARRAY [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Array Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Array Library Function Call => Analyzability
Definition and Usage Consistency @Array Library Function Call => Functional Correctness
Definition and Usage Consistency @Catch Statement [Root]
Measured By
Possibly dropped exception [Java]
Determined By
Java/Possibly dropped exception/DE_MIGHT_DROP [FindBugs]
Possibly ignored exception [Java]
Determined By
Java/Possibly ignored exception/DE_MIGHT_IGNORE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Catch Statement => Functional Correctness
Definition and Usage Consistency @Catch Statement => Testability
Definition and Usage Consistency @Collection Statement [Root]
Measured By
Return value of putIfAbsent ignored, value passed to putIfAbsent reused [Java]
Determined By
Java/Return value of putIfAbsent ignored, value passed to putIfAbsent reused/RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED [FindBugs]
hasNext method invokes next [Java]
Determined By
Java/hasNext method invokes next/DMI_CALLING_NEXT_FROM_HASNEXT [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Collection Statement => Analyzability
Definition and Usage Consistency @Collection Statement => Functional Correctness
Definition and Usage Consistency @Comparison expression [Root]
Measured By
Invocation of equals() on an array, which is equivalent to == [Java]
Determined By
Java/Invocation of equals() on an array, which is equivalent to ==/EC_BAD_ARRAY_COMPARE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Comparison expression => Analyzability
Definition and Usage Consistency @Comparison expression => Functional Correctness
Definition and Usage Consistency @Constructor [Object-orientation]
Measured By
Invokes Thread.start() [Java]
Determined By
Java/Invokes Thread.start()/SC_START_IN_CTOR [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Constructor => Analyzability
Definition and Usage Consistency @Constructor => Functional Correctness
Definition and Usage Consistency @Constructor => Reliability
Definition and Usage Consistency @Database statement [Root]
Measured By
Method attempts to access a prepared statement parameter with index 0 [Java]
Determined By
Java/Method attempts to access a prepared statement parameter with index 0/SQL_BAD_PREPARED_STATEMENT_ACCESS [FindBugs]
Method attempts to access a result set field with index 0 [Java]
Determined By
Java/Method attempts to access a result set field with index 0/SQL_BAD_RESULTSET_ACCESS [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Database statement => Analyzability
Definition and Usage Consistency @Database statement => Functional Correctness
Definition and Usage Consistency @Database statement => Reliability
Definition and Usage Consistency @Date or Time Statement [Root]
Measured By
Bad constant value for month [Java]
Determined By
Java/Bad constant value for month/DMI_BAD_MONTH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Date or Time Statement => Analyzability
Definition and Usage Consistency @Date or Time Statement => Functional Correctness
Definition and Usage Consistency @Date or Time Statement => Reliability
Definition and Usage Consistency @Destructor [Object-orientation]
Measured By
Explicit invocation of finalizer [Java]
Determined By
Java/Explicit invocation of finalizer/FI_EXPLICIT_INVOCATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Destructor => Analyzability
Definition and Usage Consistency @Destructor => Functional Correctness
Definition and Usage Consistency @Destructor => Modifiability
Definition and Usage Consistency @Field [Object-orientation]
Measured By
ThreadStatic with instance [C#]
Determined By
C#/ThreadStatic with instance/DoNotUseThreadStaticWithInstanceFieldsRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Field => Analyzability
Definition and Usage Consistency @Field => Functional Correctness
Definition and Usage Consistency @IO Library Function Call [Root]
Measured By
Inability to append to an object output stream [Java]
Determined By
Java/Inability to append to an object output stream/IO_APPENDING_TO_OBJECT_OUTPUT_STREAM [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @IO Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @IO Library Function Call => Functional Correctness
Definition and Usage Consistency @Local variable [Root]
Measured By
No disposal [C#]
Determined By
C#/No disposal/EnsureLocalDisposalRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Local variable => Functional Correctness
Definition and Usage Consistency @Local variable => Reliability
Definition and Usage Consistency @Method invocation [Root]
Measured By
Ignored results [C#]
Determined By
C#/Ignored results/DoNotIgnoreMethodResultRule [Gendarme]
Ignores return value of non-const method [Java]
Determined By
Java/Ignores return value of non-const method/RV_RETURN_VALUE_IGNORED_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method invocation => Functional Correctness
Definition and Usage Consistency @Method invocation => Reliability
Definition and Usage Consistency @Method parameter [Object-orientation]
Measured By
Thread passed where Runnable expected [Java]
Determined By
Java/Thread passed where Runnable expected/DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method parameter => Analyzability
Definition and Usage Consistency @Method parameter => Functional Correctness
Definition and Usage Consistency @Resource Handle [Root]
Measured By
May fail to clean up stream or resource [Java]
Determined By
Java/May fail to clean up stream or resource/OBL_UNSATISFIED_OBLIGATION [FindBugs]
May fail to close database resource [Java]
Determined By
Java/May fail to close database resource/ODR_OPEN_DATABASE_RESOURCE [FindBugs]
May fail to close database resource on exception [Java]
Determined By
Java/May fail to close database resource on exception/ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH [FindBugs]
May fail to close stream [Java]
Determined By
Java/May fail to close stream/OS_OPEN_STREAM [FindBugs]
May fail to close stream on exception [Java]
Determined By
Java/May fail to close stream on exception/OS_OPEN_STREAM_EXCEPTION_PATH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Resource Handle/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Resource Handle => Analyzability
Definition and Usage Consistency @Resource Handle => Functional Correctness
Definition and Usage Consistency @Resource Handle => Reliability
Definition and Usage Consistency @Resource Handle => Resource Utilization
Definition and Usage Consistency @String Library Function Call [Root]
Measured By
Array formatted in useless way using format string [Java]
Determined By
Java/Array formatted in useless way using format string/VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY [FindBugs]
Format string placeholder incompatible with passed argument [Java]
Determined By
Java/Format string placeholder incompatible with passed argument/VA_FORMAT_STRING_BAD_ARGUMENT [FindBugs]
Format string references missing argument [Java]
Determined By
Java/Format string references missing argument/VA_FORMAT_STRING_MISSING_ARGUMENT [FindBugs]
Illegal format string [Java]
Determined By
Java/Illegal format string/VA_FORMAT_STRING_ILLEGAL [FindBugs]
Incompatible type of argument at format string [Java]
Determined By
Java/Incompatible type of argument at format string/VA_FORMAT_STRING_BAD_CONVERSION [FindBugs]
MessageFormat supplied where printf style format expected [Java]
Determined By
Java/MessageFormat supplied where printf style format expected/VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED [FindBugs]
No previous argument for format string [Java]
Determined By
Java/No previous argument for format string/VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT [FindBugs]
Non-Boolean argument formatted using boolean format specifier [Java]
Determined By
Java/Non-Boolean argument formatted using boolean format specifier/VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN [FindBugs]
Parameter mismatch at formatting [C#]
Determined By
C#/Parameter mismatch at formatting/ProvideCorrectArgumentsToFormattingMethodsRule [Gendarme]
Too many arguments in the format string [Java]
Determined By
Java/Too many arguments in the format string/VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @String Library Function Call => Analyzability
Definition and Usage Consistency @String Library Function Call => Functional Correctness
Definition and Usage Consistency @String Library Function Call => Reliability
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Definition and Usage Consistency @Thread Library Function Call [Root]
Measured By
Invokes run on a thread [Java]
Determined By
Java/Invokes run on a thread/RU_INVOKE_RUN [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Thread Library Function Call => Analyzability
Definition and Usage Consistency @Thread Library Function Call => Functional Correctness
Definition and Usage Consistency @Thread Library Function Call => Reliability
Definition and Usage Consistency Regarding Scope @Constructor [Object-orientation]
Measured By
Superclass uses subclass during initialization [Java]
Determined By
Java/Superclass uses subclass during initialization/IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Constructor => Analyzability
Definition and Usage Consistency Regarding Scope @Constructor => Functional Correctness
Definition and Usage Consistency Regarding Scope @Constructor => Reliability
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
General Expression Applicability @Bitwise logical expression [Root]
Measured By
Bitwise OR of signed byte value [Java]
Determined By
Java/Bitwise OR of signed byte value/BIT_IOR_OF_SIGNED_BYTE [FindBugs]
Bitwise add of signed byte value [Java]
Determined By
Java/Bitwise add of signed byte value/BIT_ADD_OF_SIGNED_BYTE [FindBugs]
Check for sign of bitwise operation [Java]
Determined By
Java/Check for sign of bitwise operation/BIT_SIGNED_CHECK [FindBugs]
Check for sign of bitwise operation (high bit) [Java]
Determined By
Java/Check for sign of bitwise operation (high bit)/BIT_SIGNED_CHECK_HIGH_BIT [FindBugs]
Evaluated By
Java/General Expression Applicability @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Bitwise logical expression => Analyzability
General Expression Applicability @Bitwise logical expression => Functional Correctness
General Expression Applicability @Comparison expression [Root]
Measured By
Doomed test for equality to NaN [Java]
Determined By
Java/Doomed test for equality to NaN/FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER [FindBugs]
Floating point equality [Root]
Determined By
C#/Floating point equality/AvoidFloatingPointEqualityRule [Gendarme]
Java/Floating point equality/FE_FLOATING_POINT_EQUALITY [FindBugs]
With NaN [C#]
Determined By
C#/With NaN/DoNotCompareWithNaNRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Comparison expression => Analyzability
General Expression Applicability @Comparison expression => Functional Correctness
General Expression Applicability @Mathematical expression [Root]
Measured By
Casting to a larger type after multiplication [Root]
Determined By
C#/Casting to a larger type after multiplication/ReviewCastOnIntegerMultiplicationRule [Gendarme]
Java/Casting to a larger type after multiplication/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Casting to float after integer division [Root]
Determined By
C#/Casting to float after integer division/ReviewCastOnIntegerDivisionRule [Gendarme]
Java/Casting to float after integer division/ICAST_IDIV_CAST_TO_DOUBLE [FindBugs]
Computation of average could overflow [Java]
Determined By
Java/Computation of average could overflow/IM_AVERAGE_COMPUTATION_COULD_OVERFLOW [FindBugs]
Integer multiply of result of integer remainder [Java]
Determined By
Java/Integer multiply of result of integer remainder/IM_MULTIPLYING_RESULT_OF_IREM [FindBugs]
Oddness check that does not work for negative numbers [Root]
Determined By
C#/Oddness check that does not work for negative numbers/ReplaceIncompleteOddnessCheckRule [Gendarme]
Java/Oddness check that does not work for negative numbers/IM_BAD_CHECK_FOR_ODD [FindBugs]
Remainder of 32-bit signed random integer [Java]
Determined By
Java/Remainder of 32-bit signed random integer/RV_REM_OF_RANDOM_INT [FindBugs]
Remainder of hashCode could be negative [Java]
Determined By
Java/Remainder of hashCode could be negative/RV_REM_OF_HASHCODE [FindBugs]
Result of integer multiplication cast to long [Java]
Determined By
Java/Result of integer multiplication cast to long/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Evaluated By
C#/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Mathematical expression => Analyzability
General Expression Applicability @Mathematical expression => Functional Correctness
General Expression Applicability @Mathematical expression => Reliability
General Expression Applicability @Mathematical expression => Time Behavior
General Expression Applicability @String Library Function Call [Root]
Measured By
Check to see if result of String.indexOf is positive [Java]
Determined By
Java/Check to see if result of String.indexOf is positive/RV_CHECK_FOR_POSITIVE_INDEXOF [FindBugs]
Evaluated By
Java/General Expression Applicability @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @String Library Function Call => Analyzability
General Expression Applicability @String Library Function Call => Functional Correctness
Ignored Existence of Already Implemented Code @Date or Time Statement [Root]
Measured By
Stopwatch not used [C#]
Determined By
C#/Stopwatch not used/ConsiderUsingStopwatchRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Date or Time Statement => Analyzability
Ignored Existence of Already Implemented Code @Date or Time Statement => Functional Correctness
Ignored Existence of Already Implemented Code @Type cast [Root]
Impacts
Ignored Existence of Already Implemented Code @Type cast => Analyzability
Ignored Existence of Already Implemented Code @Type cast => Functional Correctness
Interface and Implementation Consistency @Comparison method [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Comparison method => Analyzability
Interface and Implementation Consistency @Comparison method => Functional Correctness
Interface and Implementation Consistency @Comparison method => Reusability
Interface and Implementation Consistency @Overridden Method [Object-orientation]
Measured By
Class overrides a method implemented in super class Adapter wrongly [Java]
Determined By
Java/Class overrides a method implemented in super class Adapter wrongly/BOA_BADLY_OVERRIDDEN_ADAPTER [FindBugs]
Intentionally wrong package for parameter [Java]
Determined By
Java/Intentionally wrong package for parameter/NM_WRONG_PACKAGE_INTENTIONAL [FindBugs]
Wrong package for parameter [Java]
Determined By
Java/Wrong package for parameter/NM_WRONG_PACKAGE [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Overridden Method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Overridden Method => Analyzability
Interface and Implementation Consistency @Overridden Method => Functional Correctness
Interface and Implementation Consistency @Test Class [Object-orientation]
Measured By
Bad suite method [Java]
Determined By
Java/Bad suite method/IJU_BAD_SUITE_METHOD [FindBugs]
Non-static suite method [Java]
Determined By
Java/Non-static suite method/IJU_SUITE_NOT_STATIC [FindBugs]
SetUp doesn't call super.setUp() [Java]
Determined By
Java/SetUp doesn't call super.setUp()/IJU_SETUP_NO_SUPER [FindBugs]
TearDown doesn't call super.tearDown() [Java]
Determined By
Java/TearDown doesn't call super.tearDown()/IJU_TEARDOWN_NO_SUPER [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Test Class => Analyzability
Interface and Implementation Consistency @Test Class => Functional Correctness
Interface and Implementation Consistency @Test Class => Reusability
Interface and Implementation Consistency @Test Class => Testability
Literal Validity @Regular expression [Root]
Measured By
Incorrect [C#]
Determined By
C#/Incorrect/ProvideCorrectRegexPatternRule [Gendarme]
Invalid syntax [Java]
Determined By
Java/Invalid syntax/RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION [FindBugs]
Evaluated By
C#/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Java/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Regular expression => Analyzability
Literal Validity @Regular expression => Functional Correctness
Literal Validity @Regular expression => Reliability
Literal Validity @XML Expression [Root]
Measured By
Invalid XML [C#]
Determined By
C#/Invalid XML/ProvideValidXmlStringRule [Gendarme]
Evaluated By
C#/Literal Validity @XML Expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XML Expression => Analyzability
Literal Validity @XML Expression => Functional Correctness
Literal Validity @XML Expression => Reliability
Literal Validity @XPath expression [Root]
Measured By
Invalid [C#]
Determined By
C#/Invalid/ProvideValidXPathExpressionRule [Gendarme]
Evaluated By
C#/Literal Validity @XPath expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XPath expression => Analyzability
Literal Validity @XPath expression => Functional Correctness
Literal Validity @XPath expression => Reliability
Reference Validity @Method invocation argument [Object-orientation]
Measured By
Non-virtual method call passes null for nonnull parameter [Java]
Determined By
Java/Non-virtual method call passes null for nonnull parameter/NP_NULL_PARAM_DEREF_NONVIRTUAL [FindBugs]
Evaluated By
Java/Reference Validity @Method invocation argument/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method invocation argument => Functional Correctness
Reference Validity @Method invocation argument => Reliability
Reference Validity @Subroutine [Root]
Impacts
Reference Validity @Subroutine => Functional Correctness
Relying on Implicit Language Behavior @Switch statement [Root]
Measured By
One case falls through to the next case [Java]
Determined By
Java/One case falls through to the next case/SF_SWITCH_FALLTHROUGH [FindBugs]
Evaluated By
Java/Relying on Implicit Language Behavior @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Relying on Implicit Language Behavior @Switch statement => Functional Correctness
Runtime Environment Independence @Library function call [Root]
Measured By
Non-implemented Feature [C#]
Determined By
C#/Non-implemented Feature/MonoCompatibilityReviewRule [Gendarme]
Potential lost logger changes due to weak reference in OpenJDK [Java]
Determined By
Java/Potential lost logger changes due to weak reference in OpenJDK/LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE [FindBugs]
Restricted Feature [C#]
Determined By
C#/Restricted Feature/FeatureRequiresRootPrivilegeOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Library function call => Functional Correctness
Runtime Environment Independence @Library function call => Portability
Runtime Environment Independence @Regular expression [Root]
Measured By
Contains File.separator [Java]
Determined By
Java/Contains File.separator/RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Regular expression => Functional Correctness
Runtime Environment Independence @Regular expression => Portability
Runtime Environment Independence @Return Statement [Root]
Measured By
Invalid exit code [C#]
Determined By
C#/Invalid exit code/ExitCodeIsLimitedOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Return Statement => Functional Correctness
Runtime Environment Independence @Return Statement => Reliability
Runtime Environment Independence @String Library Function Call [Root]
Measured By
Encoding issues [Java]
Determined By
Java/Encoding issues/DM_CONVERT_CASE [FindBugs]
Evaluated By
Java/Runtime Environment Independence @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @String Library Function Call => Functional Correctness
Runtime Environment Independence @String Library Function Call => Portability
Scope Definition Consistency @Field [Object-orientation]
Measured By
Masks a superclass field [Java]
Determined By
Java/Masks a superclass field/MF_CLASS_MASKS_FIELD [FindBugs]
Evaluated By
Java/Scope Definition Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Scope Definition Consistency @Field => Analyzability
Scope Definition Consistency @Field => Functional Correctness
Scope Definition Consistency @Field => Modifiability
Scope Usage Consistency @Method invocation [Root]
Measured By
Ambiguous invocation of an inherited or outer method [Java]
Determined By
Java/Ambiguous invocation of an inherited or outer method/IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD [FindBugs]
Static Thread.interrupted() method invoked on thread instance [Java]
Determined By
Java/Static Thread.interrupted() method invoked on thread instance/STI_INTERRUPTED_ON_UNKNOWNTHREAD [FindBugs]
Evaluated By
Java/Scope Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Scope Usage Consistency @Method invocation => Analyzability
Scope Usage Consistency @Method invocation => Functional Correctness
Scope Usage Consistency @Method invocation => Modifiability
Scope Usage Consistency @Method invocation => Reliability
Serialization Integrity @Method invocation [Root]
Measured By
Non serializable object written to ObjectOutput [Java]
Determined By
Java/Non serializable object written to ObjectOutput/DMI_NONSERIALIZABLE_OBJECT_WRITTEN [FindBugs]
Evaluated By
Java/Serialization Integrity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @Method invocation => Functional Correctness
Serialization Integrity @Method invocation => Reliability
Serialization Interface Integrity @Class [Object-orientation]
Measured By
Class is Externalizable but doesn't define a void constructor [Java]
Determined By
Java/Class is Externalizable but doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION [FindBugs]
Class is Serializable but its superclass doesn't define a void constructor [Java]
Determined By
Java/Class is Serializable but its superclass doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR [FindBugs]
Comparator doesn't implement Serializable [Java]
Determined By
Java/Comparator doesn't implement Serializable/SE_COMPARATOR_SHOULD_BE_SERIALIZABLE [FindBugs]
Incorrect implementation of ISerializable [C#]
Determined By
C#/Incorrect implementation of ISerializable/ImplementISerializableCorrectlyRule [Gendarme]
Incorrect signature for serialization [C#]
Determined By
C#/Incorrect signature for serialization/UseCorrectSignatureForSerializationMethodsRule [Gendarme]
Method must be private in order for serialization to work [Java]
Determined By
Java/Method must be private in order for serialization to work/SE_METHOD_MUST_BE_PRIVATE [FindBugs]
Missing serializable attribute on ISerializable [C#]
Determined By
C#/Missing serializable attribute on ISerializable/MissingSerializableAttributeOnISerializableTypeRule [Gendarme]
Missing serialization constructor [C#]
Determined By
C#/Missing serialization constructor/MissingSerializationConstructorRule [Gendarme]
Non-transient non-serializable instance field in serializable class [Java]
Determined By
Java/Non-transient non-serializable instance field in serializable class/SE_BAD_FIELD [FindBugs]
The readResolve method must be declared with a return type of Object. [Java]
Determined By
Java/The readResolve method must be declared with a return type of Object./SE_READ_RESOLVE_MUST_RETURN_OBJECT [FindBugs]
The readResolve method must not be declared as a static method [Java]
Determined By
Java/The readResolve method must not be declared as a static method/SE_READ_RESOLVE_IS_STATIC [FindBugs]
Transient field of class that isn't serializable [Java]
Determined By
Java/Transient field of class that isn't serializable/SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS [FindBugs]
Transient field that isn't set by deserialization. [Java]
Determined By
Java/Transient field that isn't set by deserialization./SE_TRANSIENT_FIELD_NOT_RESTORED [FindBugs]
Undecorated methods optional field [C#]
Determined By
C#/Undecorated methods optional field/DeserializeOptionalFieldRule [Gendarme]
Unmarked non-serializable fields [C#]
Determined By
C#/Unmarked non-serializable fields/MarkAllNonSerializableFieldsRule [Gendarme]
Evaluated By
C#/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Class => Functional Correctness
Serialization Interface Integrity @Class => Reliability
Serialization Interface Integrity @Serialization Attribute [Object-orientation]
Measured By
Doesn't define serialVersionUID [Java]
Determined By
Java/Doesn't define serialVersionUID/SE_NO_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't final [Java]
Determined By
Java/SerialVersionUID isn't final/SE_NONFINAL_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't long [Java]
Determined By
Java/SerialVersionUID isn't long/SE_NONLONG_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't static [Java]
Determined By
Java/SerialVersionUID isn't static/SE_NONSTATIC_SERIALVERSIONID [FindBugs]
Evaluated By
Java/Serialization Interface Integrity @Serialization Attribute/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Serialization Attribute => Functional Correctness
Serialization Interface Integrity @Serialization Attribute => Modifiability
Serialization Interface Integrity @Serialization Attribute => Portability
Serialization Usage Integrity @Class [Object-orientation]
Measured By
Non-serializable value stored into instance field of a serializable class [Java]
Determined By
Java/Non-serializable value stored into instance field of a serializable class/SE_BAD_FIELD_STORE [FindBugs]
Uncalled base methods on ISerializable [C#]
Determined By
C#/Uncalled base methods on ISerializable/CallBaseMethodsOnISerializableTypesRule [Gendarme]
Evaluated By
C#/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Usage Integrity @Class => Functional Correctness
Serialization Usage Integrity @Class => Reliability
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Synchronization Integrity @Array [Root]
Measured By
Volatile reference to an array [Java]
Determined By
Java/Volatile reference to an array/VO_VOLATILE_REFERENCE_TO_ARRAY [FindBugs]
Evaluated By
Java/Synchronization Integrity @Array/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Array => Analyzability
Synchronization Integrity @Array => Functional Correctness
Synchronization Integrity @Date or Time Statement [Root]
Measured By
Call to static Calendar [Java]
Determined By
Java/Call to static Calendar/STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE [FindBugs]
Call to static DateFormat [Java]
Determined By
Java/Call to static DateFormat/STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Date or Time Statement => Analyzability
Synchronization Integrity @Date or Time Statement => Functional Correctness
Synchronization Integrity @Field [Object-orientation]
Measured By
Lazy initialization of non-volatile static field [Java]
Determined By
Java/Lazy initialization of non-volatile static field/LI_LAZY_INIT_STATIC [FindBugs]
Lazy initialization of static field [Java]
Determined By
Java/Lazy initialization of static field/LI_LAZY_INIT_UPDATE_STATIC [FindBugs]
Method spins on field [Java]
Determined By
Java/Method spins on field/SP_SPIN_ON_FIELD [FindBugs]
Mutable servlet field [Java]
Determined By
Java/Mutable servlet field/MSF_MUTABLE_SERVLET_FIELD [FindBugs]
Non constant and static [Object-orientation]
Determined By
C#/Non constant and static/NonConstantStaticFieldsShouldNotBeVisibleRule [Gendarme]
Java/Non constant and static/MS_SHOULD_BE_FINAL [FindBugs]
Static Calendar [Java]
Determined By
Java/Static Calendar/STCAL_STATIC_CALENDAR_INSTANCE [FindBugs]
Static DateFormat [Java]
Determined By
Java/Static DateFormat/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
C#/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Field => Functional Correctness
Synchronization Integrity @Field => Reliability
Synchronization Integrity @Library function call [Root]
Measured By
Invocation of runFinalizersOnExit [Java]
Determined By
Java/Invocation of runFinalizersOnExit/DM_RUN_FINALIZERS_ON_EXIT [FindBugs]
Evaluated By
Java/Synchronization Integrity @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Library function call => Analyzability
Synchronization Integrity @Library function call => Functional Correctness
Synchronization Integrity @Library function call => Portability
Synchronization Integrity @Library function call => Reliability
Type Generality @Catch Statement [Root]
Measured By
Exception is caught when Exception is not thrown [Java]
Determined By
Java/Exception is caught when Exception is not thrown/REC_CATCH_EXCEPTION [FindBugs]
Evaluated By
Java/Type Generality @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Catch Statement => Analyzability
Type Generality @Catch Statement => Functional Correctness
Unintentional Side-Effect @Collection Statement [Root]
Measured By
A collection is added to itself [Java]
Determined By
Java/A collection is added to itself/IL_CONTAINER_ADDED_TO_ITSELF [FindBugs]
Creation of Maps and sets of URLs [Java]
Determined By
Java/Creation of Maps and sets of URLs/DMI_COLLECTION_OF_URLS [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Collection Statement => Functional Correctness
Unintentional Side-Effect @Collection Statement => Reliability
Unintentional Side-Effect @Collection Statement => Time Behavior
Unintentional Side-Effect @Constructor [Object-orientation]
Measured By
Calls virtual method [C#]
Determined By
C#/Calls virtual method/ConstructorShouldNotCallVirtualMethodsRule [Gendarme]
Evaluated By
C#/Unintentional Side-Effect @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Constructor => Analyzability
Unintentional Side-Effect @Constructor => Functional Correctness
Unintentional Side-Effect @Constructor => Modifiability
Unintentional Side-Effect @Constructor => Reliability
Unintentional Side-Effect @IO Library Function Call [Root]
Measured By
Method ignores results of InputStream.read() [Java]
Determined By
Java/Method ignores results of InputStream.read()/RR_NOT_CHECKED [FindBugs]
Method ignores results of InputStream.skip() [Java]
Determined By
Java/Method ignores results of InputStream.skip()/SR_NOT_CHECKED [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @IO Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @IO Library Function Call => Analyzability
Unintentional Side-Effect @IO Library Function Call => Functional Correctness
Unintentional Side-Effect @Library function call [Root]
Measured By
Call to problematic method [C#]
Determined By
C#/Call to problematic method/AvoidCallingProblematicMethodsRule [Gendarme]
Invocation of System.exit(...) [Java]
Determined By
Java/Invocation of System.exit(...)/DM_EXIT [FindBugs]
Evaluated By
C#/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Java/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Library function call => Functional Correctness
Unintentional Side-Effect @Library function call => Reliability
Unintentional Side-Effect @Local variable [Root]
Measured By
Obscures a field [Java]
Determined By
Java/Obscures a field/MF_METHOD_MASKS_FIELD [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Local variable => Functional Correctness
Unintentional Side-Effect @Mathematical Library Function Call [Root]
Measured By
Random object created and used only once [Java]
Determined By
Java/Random object created and used only once/DMI_RANDOM_USED_ONLY_ONCE [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Mathematical Library Function Call => Functional Correctness
Unintentional Side-Effect @Mathematical expression [Root]
Measured By
Bad attempt to compute absolute value of signed 32-bit hashcode [Java]
Determined By
Java/Bad attempt to compute absolute value of signed 32-bit hashcode/RV_ABSOLUTE_VALUE_OF_HASHCODE [FindBugs]
Bad attempt to compute absolute value of signed 32-bit random integer [Java]
Determined By
Java/Bad attempt to compute absolute value of signed 32-bit random integer/RV_ABSOLUTE_VALUE_OF_RANDOM_INT [FindBugs]
Overwritten increment [Java]
Determined By
Java/Overwritten increment/DLS_OVERWRITTEN_INCREMENT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression [Root]
Measured By
32 bit int shifted by an amount not in the range 0..31 [Java]
Determined By
Java/32 bit int shifted by an amount not in the range 0..31/ICAST_BAD_SHIFT_AMOUNT [FindBugs]
Check to see if ((...) & 0) == 0 [Java]
Determined By
Java/Check to see if ((...) & 0) == 0/BIT_AND_ZZ [FindBugs]
Incompatible bit masks (AND) [Java]
Determined By
Java/Incompatible bit masks (AND)/BIT_AND [FindBugs]
Incompatible bit masks (OR) [Java]
Determined By
Java/Incompatible bit masks (OR)/BIT_IOR [FindBugs]
Unsigned right shift cast to short/byte [Java]
Determined By
Java/Unsigned right shift cast to short/byte/ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Bitwise logical expression => Analyzability
Unnecessarily Complicated @Bitwise logical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression => Resource Utilization
Unnecessarily Complicated @Bitwise logical expression => Time Behavior
Unnecessarily Complicated @Boolean expression [Root]
Impacts
Unnecessarily Complicated @Boolean expression => Analyzability
Unnecessarily Complicated @Boolean expression => Functional Correctness
Unnecessarily Complicated @Boolean expression => Resource Utilization
Unnecessarily Complicated @Boolean expression => Time Behavior
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Comparison expression [Root]
Measured By
Assigns boolean literal in boolean expression [Java]
Determined By
Java/Assigns boolean literal in boolean expression/QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT [FindBugs]
Bad comparison of nonnegative value with negative constant [Java]
Determined By
Java/Bad comparison of nonnegative value with negative constant/INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE [FindBugs]
Bad comparison of signed byte [Java]
Determined By
Java/Bad comparison of signed byte/INT_BAD_COMPARISON_WITH_SIGNED_BYTE [FindBugs]
Equals used to compare array and nonarray [Java]
Determined By
Java/Equals used to compare array and nonarray/EC_ARRAY_AND_NONARRAY [FindBugs]
Equals used to compare incompatible arrays [Java]
Determined By
Java/Equals used to compare incompatible arrays/EC_INCOMPATIBLE_ARRAY_COMPARE [FindBugs]
Equals with null [C#]
Determined By
C#/Equals with null/CallingEqualsWithNullArgRule [Gendarme]
Null argument [Java]
Determined By
Java/Null argument/EC_NULL_ARG [FindBugs]
Self comparison of field with itself [Java]
Determined By
Java/Self comparison of field with itself/SA_FIELD_SELF_COMPARISON [FindBugs]
Self comparison of value with itself [Java]
Determined By
Java/Self comparison of value with itself/SA_LOCAL_SELF_COMPARISON [FindBugs]
Using pointer equality to compare different types [Java]
Determined By
Java/Using pointer equality to compare different types/EC_UNRELATED_TYPES_USING_POINTER_EQUALITY [FindBugs]
Vacuous comparison of integer value [Java]
Determined By
Java/Vacuous comparison of integer value/INT_VACUOUS_COMPARISON [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Comparison expression => Analyzability
Unnecessarily Complicated @Comparison expression => Functional Correctness
Unnecessarily Complicated @Comparison expression => Resource Utilization
Unnecessarily Complicated @Comparison expression => Time Behavior
Unnecessarily Complicated @Conditional statement [Root]
Measured By
Repeated conditional tests [Java]
Determined By
Java/Repeated conditional tests/RpC_REPEATED_CONDITIONAL_TEST [FindBugs]
Same code for two branches [Java]
Determined By
Java/Same code for two branches/DB_DUPLICATE_BRANCHES [FindBugs]
Same code for two switch clauses [Java]
Determined By
Java/Same code for two switch clauses/DB_DUPLICATE_SWITCH_CLAUSES [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Conditional statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Conditional statement => Analyzability
Unnecessarily Complicated @Conditional statement => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call [Root]
Measured By
Method calls static Math class method on a constant value [Java]
Determined By
Java/Method calls static Math class method on a constant value/UM_UNNECESSARY_MATH [FindBugs]
Unnecessary call of nextDouble to generate a random integer [Java]
Determined By
Java/Unnecessary call of nextDouble to generate a random integer/DM_NEXTINT_VIA_NEXTDOUBLE [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical Library Function Call => Analyzability
Unnecessarily Complicated @Mathematical Library Function Call => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call => Resource Utilization
Unnecessarily Complicated @Mathematical Library Function Call => Time Behavior
Unnecessarily Complicated @Mathematical expression [Root]
Measured By
Modulo 1 on integral type [Root]
Determined By
C#/Modulo 1 on integral type/ReviewUseOfModuloOneOnIntegersRule [Gendarme]
Java/Modulo 1 on integral type/INT_BAD_REM_BY_1 [FindBugs]
Nonsensical self computation involving a field [Java]
Determined By
Java/Nonsensical self computation involving a field/SA_FIELD_SELF_COMPUTATION [FindBugs]
Nonsensical self computation involving a variable [Java]
Determined By
Java/Nonsensical self computation involving a variable/SA_LOCAL_SELF_COMPUTATION [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical expression => Analyzability
Unnecessarily Complicated @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Mathematical expression => Resource Utilization
Unnecessarily Complicated @Mathematical expression => Time Behavior
Unnecessarily Complicated @Regular expression [Root]
Measured By
. used for regular expression [Java]
Determined By
Java/. used for regular expression/RE_POSSIBLE_UNINTENDED_PATTERN [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Regular expression => Analyzability
Unnecessarily Complicated @Regular expression => Functional Correctness
Unnecessarily Complicated @Regular expression => Resource Utilization
Unnecessarily Complicated @Regular expression => Time Behavior
Unnecessarily Complicated @String Library Function Call [Root]
Measured By
Invocation of substring(0) [Java]
Determined By
Java/Invocation of substring(0)/DMI_USELESS_SUBSTRING [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @String Library Function Call => Analyzability
Unnecessarily Complicated @String Library Function Call => Functional Correctness
Unnecessarily Complicated @String Library Function Call => Resource Utilization
Unnecessarily Complicated @String Library Function Call => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Unnecessarily Complicated @Type conversion expression [Root]
Measured By
Double.longBitsToDouble invoked on an int [Java]
Determined By
Java/Double.longBitsToDouble invoked on an int/DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT [FindBugs]
Invalid BitConverter.Int64BitsToDouble [C#]
Determined By
C#/Invalid BitConverter.Int64BitsToDouble/ReviewUseOfInt64BitsToDoubleRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type conversion expression => Analyzability
Unnecessarily Complicated @Type conversion expression => Functional Correctness
Unnecessarily Complicated @Type identification statement [Root]
Measured By
Always false [Java]
Determined By
Java/Always false/BC_IMPOSSIBLE_INSTANCEOF [FindBugs]
Always true [Java]
Determined By
Java/Always true/BC_VACUOUS_INSTANCEOF [FindBugs]
Comparing different interface types [Java]
Determined By
Java/Comparing different interface types/EC_UNRELATED_INTERFACES [FindBugs]
Comparing different types [Java]
Determined By
Java/Comparing different types/EC_UNRELATED_TYPES [FindBugs]
Comparing unrelated class and interface [Java]
Determined By
Java/Comparing unrelated class and interface/EC_UNRELATED_CLASS_AND_INTERFACE [FindBugs]
Known null value [Java]
Determined By
Java/Known null value/NP_NULL_INSTANCEOF [FindBugs]
Method allocates an object, only to get the class object [Java]
Determined By
Java/Method allocates an object, only to get the class object/DM_NEW_FOR_GETCLASS [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type identification statement => Analyzability
Unnecessarily Complicated @Type identification statement => Functional Correctness
Unnecessarily Complicated @Type identification statement => Resource Utilization
Unnecessarily Complicated @Type identification statement => Time Behavior
Uselessness @Assignment statement [Root]
Measured By
A parameter is dead upon entry to a method but overwritten [Java]
Determined By
Java/A parameter is dead upon entry to a method but overwritten/IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN [FindBugs]
Assigns null [Java]
Determined By
Java/Assigns null/DLS_DEAD_LOCAL_STORE_OF_NULL [FindBugs]
Dead store due to switch statement fall through [Java]
Determined By
Java/Dead store due to switch statement fall through/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH [FindBugs]
Dead store due to switch statement fall through to throw [Java]
Determined By
Java/Dead store due to switch statement fall through to throw/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW [FindBugs]
Dead store to local variable [Java]
Determined By
Java/Dead store to local variable/DLS_DEAD_LOCAL_STORE [FindBugs]
Double assignment [C#]
Determined By
C#/Double assignment/ReviewDoubleAssignmentRule [Gendarme]
Double assignment of field [Java]
Determined By
Java/Double assignment of field/SA_FIELD_DOUBLE_ASSIGNMENT [FindBugs]
Double assignment of local variable [Java]
Determined By
Java/Double assignment of local variable/SA_LOCAL_DOUBLE_ASSIGNMENT [FindBugs]
Finalizer nulls fields [Java]
Determined By
Java/Finalizer nulls fields/FI_FINALIZER_NULLS_FIELDS [FindBugs]
Self assignment [C#]
Determined By
C#/Self assignment/ReviewSelfAssignmentRule [Gendarme]
Self assignment of field [Java]
Determined By
Java/Self assignment of field/SA_FIELD_SELF_ASSIGNMENT [FindBugs]
Self assignment of local variable [Java]
Determined By
Java/Self assignment of local variable/SA_LOCAL_SELF_ASSIGNMENT [FindBugs]
Useless assignment in return statement [Java]
Determined By
Java/Useless assignment in return statement/DLS_DEAD_LOCAL_STORE_IN_RETURN [FindBugs]
Evaluated By
C#/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Assignment statement => Analyzability
Uselessness @Assignment statement => Functional Correctness
Uselessness @Assignment statement => Resource Utilization
Uselessness @Assignment statement => Time Behavior
Uselessness @Control flow statement [Root]
Measured By
Nullcheck of value previously dereferenced [Java]
Determined By
Java/Nullcheck of value previously dereferenced/RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE [FindBugs]
Synchronize and null check on the same field [Java]
Determined By
Java/Synchronize and null check on the same field/NP_SYNC_AND_NULL_CHECK_FIELD [FindBugs]
Useless [C#]
Determined By
C#/Useless/ReviewUselessControlFlowRule [Gendarme]
Useless control flow [Java]
Determined By
Java/Useless control flow/UCF_USELESS_CONTROL_FLOW [FindBugs]
Useless control flow to next line [Java]
Determined By
Java/Useless control flow to next line/UCF_USELESS_CONTROL_FLOW_NEXT_LINE [FindBugs]
Evaluated By
C#/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Control flow statement => Analyzability
Uselessness @Control flow statement => Functional Correctness
Uselessness @Control flow statement => Resource Utilization
Uselessness @Control flow statement => Time Behavior
Uselessness @Field [Object-orientation]
Measured By
Always null [C#]
Determined By
C#/Always null/AvoidAlwaysNullFieldRule [Gendarme]
Only ever set to null [Java]
Determined By
Java/Only ever set to null/UWF_NULL_FIELD [FindBugs]
Statically unused @Field [Object-orientation]
Determined By
C#/Statically unused @Field/AvoidUnusedPrivateFieldsRule [Gendarme]
Java/Statically unused @Field/UnusedPrivateField [PMD]
Unread [Java]
Determined By
Java/Unread/URF_UNREAD_FIELD [FindBugs]
Unused @Field [Java]
Determined By
Java/Unused @Field/UUF_UNUSED_FIELD [FindBugs]
Evaluated By
C#/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Field => Analyzability
Uselessness @Field => Functional Correctness
Uselessness @Field => Resource Utilization
Uselessness @Internal class [Object-orientation]
Measured By
Uninstantiated [C#]
Determined By
C#/Uninstantiated/AvoidUninstantiatedInternalClassesRule [Gendarme]
Evaluated By
C#/Uselessness @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Internal class => Analyzability
Uselessness @Internal class => Functional Correctness
Uselessness @Library function call [Root]
Measured By
Creation of an empty jar file entry [Java]
Determined By
Java/Creation of an empty jar file entry/AM_CREATES_EMPTY_JAR_FILE_ENTRY [FindBugs]
Creation of an empty zip file entry [Java]
Determined By
Java/Creation of an empty zip file entry/AM_CREATES_EMPTY_ZIP_FILE_ENTRY [FindBugs]
Discard of result of readLine after checking if it is nonnull [Java]
Determined By
Java/Discard of result of readLine after checking if it is nonnull/RV_DONT_JUST_NULL_CHECK_READLINE [FindBugs]
Evaluated By
Java/Uselessness @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Library function call => Analyzability
Uselessness @Library function call => Functional Correctness
Uselessness @Library function call => Resource Utilization
Uselessness @Library function call => Time Behavior
Uselessness @Literal [Root]
Measured By
Unused @Literal [Java]
Determined By
Java/Unused @Literal/DLS_DEAD_STORE_OF_CLASS_LITERAL [FindBugs]
Evaluated By
Java/Uselessness @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Literal => Analyzability
Uselessness @Literal => Functional Correctness
Uselessness @Literal => Resource Utilization
Uselessness @Local variable [Root]
Measured By
Statically unused [Root]
Determined By
Java/Statically unused/UnusedLocalVariable [PMD]
Unused Local Variables [C#]
Determined By
C#/Unused Local Variables/RemoveUnusedLocalVariablesRule [Gendarme]
Evaluated By
Java/Uselessness @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Local variable => Analyzability
Uselessness @Local variable => Functional Correctness
Uselessness @Local variable => Resource Utilization
Uselessness @Mathematical expression [Root]
Measured By
Random value from 0 to 1 is coerced to the integer 0 [Java]
Determined By
Java/Random value from 0 to 1 is coerced to the integer 0/RV_01_TO_INT [FindBugs]
Rounded integer [C#]
Determined By
C#/Rounded integer/DoNotRoundIntegersRule [Gendarme]
Evaluated By
C#/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical expression => Analyzability
Uselessness @Mathematical expression => Functional Correctness
Uselessness @Mathematical expression => Time Behavior
Uselessness @Method [Object-orientation]
Measured By
Never called [Java]
Determined By
Java/Never called/UPM_UNCALLED_PRIVATE_METHOD [FindBugs]
Statically unused @Method [Object-orientation]
Determined By
C#/Statically unused @Method/AvoidUncalledPrivateCodeRule [Gendarme]
Java/Statically unused @Method/UnusedPrivateMethod [PMD]
Uncallable method defined in anonymous class [Java]
Determined By
Java/Uncallable method defined in anonymous class/UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method => Analyzability
Uselessness @Method => Functional Correctness
Uselessness @Method => Resource Utilization
Uselessness @Method invocation [Root]
Measured By
Ignores return value of const method [Java]
Determined By
Java/Ignores return value of const method/RV_RETURN_VALUE_IGNORED [FindBugs]
Naked notify [Java]
Determined By
Java/Naked notify/NN_NAKED_NOTIFY [FindBugs]
Non-console application write to console [C#]
Determined By
C#/Non-console application write to console/DisableDebuggingCodeRule [Gendarme]
Evaluated By
C#/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method invocation => Functional Correctness
Uselessness @Method invocation => Resource Utilization
Uselessness @Method invocation => Time Behavior
Uselessness @Method parameter [Object-orientation]
Measured By
Does not use value in setter [C#]
Determined By
C#/Does not use value in setter/UseValueInPropertySetterRule [Gendarme]
Statically unused @Method parameter [Object-orientation]
Determined By
C#/Statically unused @Method parameter/AvoidUnusedParametersRule [Gendarme]
Java/Statically unused @Method parameter/UnusedFormalParameter [PMD]
Evaluated By
C#/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method parameter => Analyzability
Uselessness @Method parameter => Functional Correctness
Uselessness @Object Allocation Statement [Root]
Measured By
Exception created and dropped rather than thrown [Java]
Determined By
Java/Exception created and dropped rather than thrown/RV_EXCEPTION_NOT_THROWN [FindBugs]
Exception instantiated without throwing [C#]
Determined By
C#/Exception instantiated without throwing/CheckNewExceptionWithoutThrowingRule [Gendarme]
Needless instantiation of class that only supplies static methods [Java]
Determined By
Java/Needless instantiation of class that only supplies static methods/ISC_INSTANTIATE_STATIC_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Object Allocation Statement => Analyzability
Uselessness @Object Allocation Statement => Functional Correctness
Uselessness @Object Allocation Statement => Resource Utilization
Uselessness @Object Allocation Statement => Time Behavior
Uselessness @Public non interface method [Root]
Measured By
Proportion of statically unused non-private subroutines @Public non interface method [Root]
Determined By
Root/Proportion of statically unused non-private subroutines @Public non interface method/Manual Instrument
Evaluated By
Root/Uselessness @Public non interface method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Public non interface method => Analyzability
Uselessness @Public non interface method => Functional Correctness
Uselessness @Public non interface method => Resource Utilization
Uselessness @Public non interface method => Time Behavior
Uselessness @Thread [Root]
Measured By
Default empty run method [Java]
Determined By
Java/Default empty run method/DM_USELESS_THREAD [FindBugs]
New without start [C#]
Determined By
C#/New without start/CheckNewThreadWithoutStartRule [Gendarme]
Evaluated By
C#/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Thread => Analyzability
Uselessness @Thread => Functional Correctness
Uselessness @Thread => Resource Utilization
Uselessness @Thread => Time Behavior
Evaluated By
C#/Functional Correctness/WeightedSumFactorAggregation
Java/Functional Correctness/WeightedSumFactorAggregation
Object-orientation/Functional Correctness/WeightedSumFactorAggregation
Root/Functional Correctness/WeightedSumFactorAggregation
Evaluated By
Root/Functional Suitability/WeightedSumFactorAggregation
Maintainability [Root]
Refined By
Analyzability [Root]
Influenced By
Ambiguous Reference vs. Value Type Usage @Comparison expression [Root]
Measured By
Comparison of String objects using == or != [Java]
Determined By
Java/Comparison of String objects using == or !=/ES_COMPARING_STRINGS_WITH_EQ [FindBugs]
Comparison of String parameter using == or != [Java]
Determined By
Java/Comparison of String parameter using == or !=/ES_COMPARING_PARAMETER_STRING_WITH_EQ [FindBugs]
Comparison with empty string [C#]
Determined By
C#/Comparison with empty string/CompareWithStringEmptyEfficientlyRule [Gendarme]
Suspicious comparison of Boolean values [Java]
Determined By
Java/Suspicious comparison of Boolean values/RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN [FindBugs]
Suspicious reference comparison [Java]
Determined By
Java/Suspicious reference comparison/RC_REF_COMPARISON [FindBugs]
Suspicious reference comparison to constant [Java]
Determined By
Java/Suspicious reference comparison to constant/RC_REF_COMPARISON_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Comparison expression => Analyzability
Ambiguous Reference vs. Value Type Usage @Comparison expression => Functional Correctness
Ambiguous Reference vs. Value Type Usage @Comparison expression => Modifiability
Behavioral Integrity @Clone method [Object-orientation]
Measured By
Clone method does not call super.clone() [Java]
Determined By
Java/Clone method does not call super.clone()/CN_IDIOM_NO_SUPER_CALL [FindBugs]
Clone method returns null [C#]
Determined By
C#/Clone method returns null/CloneMethodShouldNotReturnNullRule [Gendarme]
May return null [Java]
Determined By
Java/May return null/NP_CLONE_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Clone method => Analyzability
Behavioral Integrity @Clone method => Reliability
Behavioral Integrity @Clone method => Reusability
Behavioral Integrity @Clone method => Testability
Behavioral Integrity @Destructor [Object-orientation]
Measured By
Disposable should be disposed [C#]
Determined By
C#/Disposable should be disposed/DisposableFieldsShouldBeDisposedRule [Gendarme]
Finalizer does not call superclass finalizer [Java]
Determined By
Java/Finalizer does not call superclass finalizer/FI_MISSING_SUPER_CALL [FindBugs]
Finalizer nullifies superclass finalizer [Java]
Determined By
Java/Finalizer nullifies superclass finalizer/FI_NULLIFY_SUPER [FindBugs]
Finalizer should call base class finalizer [C#]
Determined By
C#/Finalizer should call base class finalizer/FinalizersShouldCallBaseClassFinalizerRule [Gendarme]
Evaluated By
C#/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Destructor => Analyzability
Behavioral Integrity @Destructor => Resource Utilization
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @Loop [Root]
Measured By
Complicated, subtle or wrong increment in for-loop [Java]
Determined By
Java/Complicated, subtle or wrong increment in for-loop/QF_QUESTIONABLE_FOR_LOOP [FindBugs]
Evaluated By
Java/Behavioral Integrity @Loop/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Loop => Analyzability
Behavioral Integrity @Loop => Functional Correctness
Conformity to Naming Convention @Class name [Object-orientation]
Measured By
Class is not derived from an Exception, even though it is named as such [Java]
Determined By
Java/Class is not derived from an Exception, even though it is named as such/NM_CLASS_NOT_EXCEPTION [FindBugs]
Shadows simple name of implemented interface [Java]
Determined By
Java/Shadows simple name of implemented interface/NM_SAME_SIMPLE_NAME_AS_INTERFACE [FindBugs]
Shadows simple name of superclass [Java]
Determined By
Java/Shadows simple name of superclass/NM_SAME_SIMPLE_NAME_AS_SUPERCLASS [FindBugs]
Evaluated By
Java/Conformity to Naming Convention @Class name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Class name => Analyzability
Conformity to Naming Convention @Class name => Testability
Conformity to Naming Convention @Event [C#]
Measured By
Signature mismatch [C#]
Determined By
C#/Signature mismatch/DeclareEventHandlersCorrectlyRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Event/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Event => Analyzability
Conformity to Naming Convention @Event => Testability
Conformity to Naming Convention @Method name [Object-orientation]
Measured By
Apparent method/constructor confusion [Java]
Determined By
Java/Apparent method/constructor confusion/NM_METHOD_CONSTRUCTOR_CONFUSION [FindBugs]
Redundant parts @Method name [C#]
Determined By
C#/Redundant parts @Method name/AvoidRedundancyInMethodNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method name => Analyzability
Conformity to Naming Convention @Method name => Modifiability
Conformity to Naming Convention @Method name => Testability
Conformity to Naming Convention @Method parameter [Object-orientation]
Measured By
Unmatched with overridden method [C#]
Determined By
C#/Unmatched with overridden method/ParameterNamesShouldMatchOverriddenMethodRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method parameter => Analyzability
Conformity to Naming Convention @Method parameter => Testability
Conformity to Naming Convention @Source code identifier [Root]
Measured By
Confusing method names [Java]
Determined By
Java/Confusing method names/NM_CONFUSING [FindBugs]
Confusing method names, but perhaps intentional [Java]
Determined By
Java/Confusing method names, but perhaps intentional/NM_VERY_CONFUSING_INTENTIONAL [FindBugs]
Incorrect pre- or suffix [C#]
Refined By
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Determined By
Findings Union Measure Aggregation Findings Union
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Non-alphanumeric characters [C#]
Determined By
C#/Non-alphanumeric characters/AvoidNonAlphanumericIdentifierRule [Gendarme]
Plural [C#]
Determined By
C#/Plural/UseSingularNameInEnumsUnlessAreFlagsRule [Gendarme]
Proportion of identifiers that are synonyms [Root]
Determined By
Root/Proportion of identifiers that are synonyms/Manual Instrument
Proportion of meaningless and misleading identifiers @Source code identifier [Root]
Determined By
Root/Proportion of meaningless and misleading identifiers @Source code identifier/Manual Instrument
Proportion of misspelled and cryptic identifiers [Root]
Determined By
Root/Proportion of misspelled and cryptic identifiers/Manual Instrument
Singular [C#]
Determined By
C#/Singular/UsePluralNameInEnumFlagsRule [Gendarme]
Use of identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER [FindBugs]
Use of member identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of member identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER [FindBugs]
Very confusing method names [Java]
Determined By
Java/Very confusing method names/NM_VERY_CONFUSING [FindBugs]
With before or after [C#]
Determined By
C#/With before or after/DoNotPrefixEventsWithAfterOrBeforeRule [Gendarme]
With struct name [C#]
Determined By
C#/With struct name/DoNotPrefixValuesWithEnumNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Source code identifier => Analyzability
Conformity to Naming Convention @Source code identifier => Testability
Conformity to Naming Convention @Type name [Root]
Measured By
Redundant parts @Type name [C#]
Determined By
C#/Redundant parts @Type name/AvoidRedundancyInTypeNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Type name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Type name => Analyzability
Conformity to Naming Convention @Type name => Testability
Conformity to Naming Convention regarding Capitalization @Source code identifier [Java]
Measured By
Class names should start with an upper case letter [Java]
Determined By
Java/Class names should start with an upper case letter/NM_CLASS_NAMING_CONVENTION [FindBugs]
Field names should start with a lower case letter [Java]
Determined By
Java/Field names should start with a lower case letter/NM_FIELD_NAMING_CONVENTION [FindBugs]
Method names should start with a lower case letter [Java]
Determined By
Java/Method names should start with a lower case letter/NM_METHOD_NAMING_CONVENTION [FindBugs]
Evaluated By
Java/Conformity to Naming Convention regarding Capitalization @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention regarding Capitalization @Source code identifier => Analyzability
Definition and Usage Consistency @Array Library Function Call [Root]
Measured By
Invocation of hashCode on an array [Java]
Determined By
Java/Invocation of hashCode on an array/DMI_INVOKING_HASHCODE_ON_ARRAY [FindBugs]
Invocation of toString on an anonymous array [Java]
Determined By
Java/Invocation of toString on an anonymous array/DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY [FindBugs]
Invocation of toString on an array [Java]
Determined By
Java/Invocation of toString on an array/DMI_INVOKING_TOSTRING_ON_ARRAY [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Array Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Array Library Function Call => Analyzability
Definition and Usage Consistency @Array Library Function Call => Functional Correctness
Definition and Usage Consistency @Collection Statement [Root]
Measured By
Return value of putIfAbsent ignored, value passed to putIfAbsent reused [Java]
Determined By
Java/Return value of putIfAbsent ignored, value passed to putIfAbsent reused/RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED [FindBugs]
hasNext method invokes next [Java]
Determined By
Java/hasNext method invokes next/DMI_CALLING_NEXT_FROM_HASNEXT [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Collection Statement => Analyzability
Definition and Usage Consistency @Collection Statement => Functional Correctness
Definition and Usage Consistency @Comparison expression [Root]
Measured By
Invocation of equals() on an array, which is equivalent to == [Java]
Determined By
Java/Invocation of equals() on an array, which is equivalent to ==/EC_BAD_ARRAY_COMPARE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Comparison expression => Analyzability
Definition and Usage Consistency @Comparison expression => Functional Correctness
Definition and Usage Consistency @Constructor [Object-orientation]
Measured By
Invokes Thread.start() [Java]
Determined By
Java/Invokes Thread.start()/SC_START_IN_CTOR [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Constructor => Analyzability
Definition and Usage Consistency @Constructor => Functional Correctness
Definition and Usage Consistency @Constructor => Reliability
Definition and Usage Consistency @Database statement [Root]
Measured By
Method attempts to access a prepared statement parameter with index 0 [Java]
Determined By
Java/Method attempts to access a prepared statement parameter with index 0/SQL_BAD_PREPARED_STATEMENT_ACCESS [FindBugs]
Method attempts to access a result set field with index 0 [Java]
Determined By
Java/Method attempts to access a result set field with index 0/SQL_BAD_RESULTSET_ACCESS [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Database statement => Analyzability
Definition and Usage Consistency @Database statement => Functional Correctness
Definition and Usage Consistency @Database statement => Reliability
Definition and Usage Consistency @Date or Time Statement [Root]
Measured By
Bad constant value for month [Java]
Determined By
Java/Bad constant value for month/DMI_BAD_MONTH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Date or Time Statement => Analyzability
Definition and Usage Consistency @Date or Time Statement => Functional Correctness
Definition and Usage Consistency @Date or Time Statement => Reliability
Definition and Usage Consistency @Destructor [Object-orientation]
Measured By
Explicit invocation of finalizer [Java]
Determined By
Java/Explicit invocation of finalizer/FI_EXPLICIT_INVOCATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Destructor => Analyzability
Definition and Usage Consistency @Destructor => Functional Correctness
Definition and Usage Consistency @Destructor => Modifiability
Definition and Usage Consistency @Field [Object-orientation]
Measured By
ThreadStatic with instance [C#]
Determined By
C#/ThreadStatic with instance/DoNotUseThreadStaticWithInstanceFieldsRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Field => Analyzability
Definition and Usage Consistency @Field => Functional Correctness
Definition and Usage Consistency @Method parameter [Object-orientation]
Measured By
Thread passed where Runnable expected [Java]
Determined By
Java/Thread passed where Runnable expected/DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method parameter => Analyzability
Definition and Usage Consistency @Method parameter => Functional Correctness
Definition and Usage Consistency @Resource Handle [Root]
Measured By
May fail to clean up stream or resource [Java]
Determined By
Java/May fail to clean up stream or resource/OBL_UNSATISFIED_OBLIGATION [FindBugs]
May fail to close database resource [Java]
Determined By
Java/May fail to close database resource/ODR_OPEN_DATABASE_RESOURCE [FindBugs]
May fail to close database resource on exception [Java]
Determined By
Java/May fail to close database resource on exception/ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH [FindBugs]
May fail to close stream [Java]
Determined By
Java/May fail to close stream/OS_OPEN_STREAM [FindBugs]
May fail to close stream on exception [Java]
Determined By
Java/May fail to close stream on exception/OS_OPEN_STREAM_EXCEPTION_PATH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Resource Handle/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Resource Handle => Analyzability
Definition and Usage Consistency @Resource Handle => Functional Correctness
Definition and Usage Consistency @Resource Handle => Reliability
Definition and Usage Consistency @Resource Handle => Resource Utilization
Definition and Usage Consistency @String Library Function Call [Root]
Measured By
Array formatted in useless way using format string [Java]
Determined By
Java/Array formatted in useless way using format string/VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY [FindBugs]
Format string placeholder incompatible with passed argument [Java]
Determined By
Java/Format string placeholder incompatible with passed argument/VA_FORMAT_STRING_BAD_ARGUMENT [FindBugs]
Format string references missing argument [Java]
Determined By
Java/Format string references missing argument/VA_FORMAT_STRING_MISSING_ARGUMENT [FindBugs]
Illegal format string [Java]
Determined By
Java/Illegal format string/VA_FORMAT_STRING_ILLEGAL [FindBugs]
Incompatible type of argument at format string [Java]
Determined By
Java/Incompatible type of argument at format string/VA_FORMAT_STRING_BAD_CONVERSION [FindBugs]
MessageFormat supplied where printf style format expected [Java]
Determined By
Java/MessageFormat supplied where printf style format expected/VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED [FindBugs]
No previous argument for format string [Java]
Determined By
Java/No previous argument for format string/VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT [FindBugs]
Non-Boolean argument formatted using boolean format specifier [Java]
Determined By
Java/Non-Boolean argument formatted using boolean format specifier/VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN [FindBugs]
Parameter mismatch at formatting [C#]
Determined By
C#/Parameter mismatch at formatting/ProvideCorrectArgumentsToFormattingMethodsRule [Gendarme]
Too many arguments in the format string [Java]
Determined By
Java/Too many arguments in the format string/VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @String Library Function Call => Analyzability
Definition and Usage Consistency @String Library Function Call => Functional Correctness
Definition and Usage Consistency @String Library Function Call => Reliability
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Definition and Usage Consistency @Thread Library Function Call [Root]
Measured By
Invokes run on a thread [Java]
Determined By
Java/Invokes run on a thread/RU_INVOKE_RUN [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Thread Library Function Call => Analyzability
Definition and Usage Consistency @Thread Library Function Call => Functional Correctness
Definition and Usage Consistency @Thread Library Function Call => Reliability
Definition and Usage Consistency Regarding Scope @Constructor [Object-orientation]
Measured By
Superclass uses subclass during initialization [Java]
Determined By
Java/Superclass uses subclass during initialization/IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Constructor => Analyzability
Definition and Usage Consistency Regarding Scope @Constructor => Functional Correctness
Definition and Usage Consistency Regarding Scope @Constructor => Reliability
Detail Complexity @Class [Object-orientation]
Measured By
Large @Class [C#]
Determined By
C#/Large @Class/AvoidLargeClassesRule [Gendarme]
Evaluated By
C#/Detail Complexity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Class => Analyzability
Detail Complexity @Class => Modifiability
Detail Complexity @Method [Object-orientation]
Measured By
Deep nesting [Java]
Determined By
Java/Deep nesting/Nesting Depth Exceeded [Java Code Structure Analysis]
Long [C#]
Determined By
C#/Long/AvoidLongMethodsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method => Analyzability
Detail Complexity @Method => Modifiability
Detail Complexity @Method interface [Object-orientation]
Measured By
Primitive array passed to function expecting a variable number of object arguments [Java]
Determined By
Java/Primitive array passed to function expecting a variable number of object arguments/VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG [FindBugs]
Ref or out [C#]
Determined By
C#/Ref or out/AvoidRefAndOutParametersRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method interface => Analyzability
Detail Complexity @Method interface => Testability
Detail Complexity @Method invocation [Root]
Measured By
Message chain smell [C#]
Determined By
C#/Message chain smell/AvoidMessageChainsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method invocation => Analyzability
Detail Complexity @Method invocation => Modifiability
Detail Complexity @Namespace [Root]
Measured By
Small [C#]
Determined By
C#/Small/AvoidSmallNamespaceRule [Gendarme]
Evaluated By
C#/Detail Complexity @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Namespace => Analyzability
Detail Complexity @Source file [Root]
Measured By
Large [Root]
Determined By
C#/Large/Overly Long File [C# Basic metrics]
Java/Large/Overly Long File [Java Code Structure Analysis]
Evaluated By
C#/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Source file => Analyzability
Detail Complexity @Source file => Modifiability
Development Environment Independence @Source code identifier [Root]
Measured By
Invalid character [Root]
Determined By
Root/Invalid character/Invalid Character [Encoding Check]
Evaluated By
C#/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Development Environment Independence @Source code identifier => Analyzability
Development Environment Independence @Source code identifier => Portability
Development Environment Independence @Source code identifier => Testability
Documentation Degree @Source code part [Root]
Measured By
Insufficient [Java]
Determined By
Java/Insufficient/Insufficient Comment [JavaDoc Analysis]
Java missing javadoc comment [Java]
Determined By
Java/Java missing javadoc comment/Missing Documentation [JavaDoc Analysis]
Proportion of missing or incomplete comments [Root]
Determined By
Root/Proportion of missing or incomplete comments/Manual Instrument
Evaluated By
Java/Documentation Degree @Source code part/WeightedSumMultiMeasureEvaluation
Impacts
Documentation Degree @Source code part => Analyzability
Duplication @Source code part [Root]
Measured By
Clone coverage [Root]
Determined By
C#/Clone coverage/UnitCoverage [C# Clone Detection]
Java/Clone coverage/UnitCoverage [Java Clone Detection]
Cloning overhead [Root]
Determined By
C#/Cloning overhead/Overhead [C# Clone Detection]
Java/Cloning overhead/Overhead [Java Clone Detection]
Evaluated By
C#/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Java/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Impacts
Duplication @Source code part => Analyzability
Duplication @Source code part => Modifiability
Dynamic Complexity @Method [Object-orientation]
Measured By
High cyclomatic complexity [C#]
Determined By
C#/High cyclomatic complexity/AvoidComplexMethodsRule [Gendarme]
Evaluated By
C#/Dynamic Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Dynamic Complexity @Method => Analyzability
Dynamic Complexity @Method => Modifiability
Encapsulation Strength @Destructor [Object-orientation]
Measured By
Finalizer should be protected not public [Java]
Determined By
Java/Finalizer should be protected not public/FI_PUBLIC_SHOULD_BE_PROTECTED [FindBugs]
Evaluated By
Java/Encapsulation Strength @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Destructor => Analyzability
Encapsulation Strength @Destructor => Security
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
Encapsulation Strength @Method [Object-orientation]
Measured By
Exposed and protected by link demand [C#]
Determined By
C#/Exposed and protected by link demand/DoNotExposeMethodsProtectedByLinkDemandRule [Gendarme]
Large number of local variables [C#]
Determined By
C#/Large number of local variables/AvoidLargeNumberOfLocalVariablesRule [Gendarme]
Long parameter list [C#]
Determined By
C#/Long parameter list/AvoidLongParameterListsRule [Gendarme]
Public static method may expose internal representation by returning array [Java]
Determined By
Java/Public static method may expose internal representation by returning array/MS_EXPOSE_REP [FindBugs]
Evaluated By
C#/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Method => Analyzability
Encapsulation Strength @Method => Modifiability
Encapsulation Strength @Method => Security
General Expression Applicability @Bitwise logical expression [Root]
Measured By
Bitwise OR of signed byte value [Java]
Determined By
Java/Bitwise OR of signed byte value/BIT_IOR_OF_SIGNED_BYTE [FindBugs]
Bitwise add of signed byte value [Java]
Determined By
Java/Bitwise add of signed byte value/BIT_ADD_OF_SIGNED_BYTE [FindBugs]
Check for sign of bitwise operation [Java]
Determined By
Java/Check for sign of bitwise operation/BIT_SIGNED_CHECK [FindBugs]
Check for sign of bitwise operation (high bit) [Java]
Determined By
Java/Check for sign of bitwise operation (high bit)/BIT_SIGNED_CHECK_HIGH_BIT [FindBugs]
Evaluated By
Java/General Expression Applicability @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Bitwise logical expression => Analyzability
General Expression Applicability @Bitwise logical expression => Functional Correctness
General Expression Applicability @Comparison expression [Root]
Measured By
Doomed test for equality to NaN [Java]
Determined By
Java/Doomed test for equality to NaN/FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER [FindBugs]
Floating point equality [Root]
Determined By
C#/Floating point equality/AvoidFloatingPointEqualityRule [Gendarme]
Java/Floating point equality/FE_FLOATING_POINT_EQUALITY [FindBugs]
With NaN [C#]
Determined By
C#/With NaN/DoNotCompareWithNaNRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Comparison expression => Analyzability
General Expression Applicability @Comparison expression => Functional Correctness
General Expression Applicability @Mathematical expression [Root]
Measured By
Casting to a larger type after multiplication [Root]
Determined By
C#/Casting to a larger type after multiplication/ReviewCastOnIntegerMultiplicationRule [Gendarme]
Java/Casting to a larger type after multiplication/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Casting to float after integer division [Root]
Determined By
C#/Casting to float after integer division/ReviewCastOnIntegerDivisionRule [Gendarme]
Java/Casting to float after integer division/ICAST_IDIV_CAST_TO_DOUBLE [FindBugs]
Computation of average could overflow [Java]
Determined By
Java/Computation of average could overflow/IM_AVERAGE_COMPUTATION_COULD_OVERFLOW [FindBugs]
Integer multiply of result of integer remainder [Java]
Determined By
Java/Integer multiply of result of integer remainder/IM_MULTIPLYING_RESULT_OF_IREM [FindBugs]
Oddness check that does not work for negative numbers [Root]
Determined By
C#/Oddness check that does not work for negative numbers/ReplaceIncompleteOddnessCheckRule [Gendarme]
Java/Oddness check that does not work for negative numbers/IM_BAD_CHECK_FOR_ODD [FindBugs]
Remainder of 32-bit signed random integer [Java]
Determined By
Java/Remainder of 32-bit signed random integer/RV_REM_OF_RANDOM_INT [FindBugs]
Remainder of hashCode could be negative [Java]
Determined By
Java/Remainder of hashCode could be negative/RV_REM_OF_HASHCODE [FindBugs]
Result of integer multiplication cast to long [Java]
Determined By
Java/Result of integer multiplication cast to long/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Evaluated By
C#/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Mathematical expression => Analyzability
General Expression Applicability @Mathematical expression => Functional Correctness
General Expression Applicability @Mathematical expression => Reliability
General Expression Applicability @Mathematical expression => Time Behavior
General Expression Applicability @String Library Function Call [Root]
Measured By
Check to see if result of String.indexOf is positive [Java]
Determined By
Java/Check to see if result of String.indexOf is positive/RV_CHECK_FOR_POSITIVE_INDEXOF [FindBugs]
Evaluated By
Java/General Expression Applicability @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @String Library Function Call => Analyzability
General Expression Applicability @String Library Function Call => Functional Correctness
General Expression Applicability @Type cast [Root]
Measured By
Unchecked/unconfirmed cast [Java]
Determined By
Java/Unchecked/unconfirmed cast/BC_UNCONFIRMED_CAST [FindBugs]
Evaluated By
Java/General Expression Applicability @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type cast => Analyzability
General Expression Applicability @Type cast => Reliability
Ignored Existence of Already Implemented Code @Class [Object-orientation]
Measured By
Code duplicated in same [C#]
Determined By
C#/Code duplicated in same/AvoidCodeDuplicatedInSameClassRule [Gendarme]
Code duplicated in sibling [C#]
Determined By
C#/Code duplicated in sibling/AvoidCodeDuplicatedInSiblingClassesRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Class/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Class => Analyzability
Ignored Existence of Already Implemented Code @Class => Modifiability
Ignored Existence of Already Implemented Code @Date or Time Statement [Root]
Measured By
Stopwatch not used [C#]
Determined By
C#/Stopwatch not used/ConsiderUsingStopwatchRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Date or Time Statement => Analyzability
Ignored Existence of Already Implemented Code @Date or Time Statement => Functional Correctness
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Ignored Existence of Already Implemented Code @Switch statement [Root]
Measured By
Duplicated [C#]
Determined By
C#/Duplicated/AvoidSwitchStatementsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Switch statement => Analyzability
Ignored Existence of Already Implemented Code @Switch statement => Modifiability
Ignored Existence of Already Implemented Code @Type cast [Root]
Impacts
Ignored Existence of Already Implemented Code @Type cast => Analyzability
Ignored Existence of Already Implemented Code @Type cast => Functional Correctness
Interface and Implementation Consistency @Comparison method [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Comparison method => Analyzability
Interface and Implementation Consistency @Comparison method => Functional Correctness
Interface and Implementation Consistency @Comparison method => Reusability
Interface and Implementation Consistency @Destructor [Object-orientation]
Impacts
Interface and Implementation Consistency @Destructor => Analyzability
Interface and Implementation Consistency @Destructor => Resource Utilization
Interface and Implementation Consistency @Destructor => Reusability
Interface and Implementation Consistency @Field [Object-orientation]
Measured By
Store of null value into field annotated NonNull [Java]
Determined By
Java/Store of null value into field annotated NonNull/NP_STORE_INTO_NONNULL_FIELD [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Field => Analyzability
Interface and Implementation Consistency @Field => Reliability
Interface and Implementation Consistency @Namespace [Root]
Measured By
Inconsistent types and interfaces [C#]
Determined By
C#/Inconsistent types and interfaces/AvoidTypeInterfaceInconsistencyRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Namespace => Analyzability
Interface and Implementation Consistency @Namespace => Modifiability
Interface and Implementation Consistency @Overridden Method [Object-orientation]
Measured By
Class overrides a method implemented in super class Adapter wrongly [Java]
Determined By
Java/Class overrides a method implemented in super class Adapter wrongly/BOA_BADLY_OVERRIDDEN_ADAPTER [FindBugs]
Intentionally wrong package for parameter [Java]
Determined By
Java/Intentionally wrong package for parameter/NM_WRONG_PACKAGE_INTENTIONAL [FindBugs]
Wrong package for parameter [Java]
Determined By
Java/Wrong package for parameter/NM_WRONG_PACKAGE [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Overridden Method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Overridden Method => Analyzability
Interface and Implementation Consistency @Overridden Method => Functional Correctness
Interface and Implementation Consistency @Property [Object-orientation]
Measured By
Without get accessor [C#]
Determined By
C#/Without get accessor/AvoidPropertiesWithoutGetAccessorRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Property/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Property => Analyzability
Interface and Implementation Consistency @Property => Modifiability
Interface and Implementation Consistency @Return Statement [Root]
Measured By
Consider returning a zero length array rather than null [Java]
Determined By
Java/Consider returning a zero length array rather than null/PZLA_PREFER_ZERO_LENGTH_ARRAYS [FindBugs]
May return null, but is declared NonNull [Java]
Determined By
Java/May return null, but is declared NonNull/NP_NONNULL_RETURN_VIOLATION [FindBugs]
Method with Boolean return type returns explicit null [Java]
Determined By
Java/Method with Boolean return type returns explicit null/NP_BOOLEAN_RETURN_NULL [FindBugs]
Returns null for collection types [C#]
Determined By
C#/Returns null for collection types/PreferEmptyInstanceOverNullRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Java/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Return Statement => Analyzability
Interface and Implementation Consistency @Return Statement => Modifiability
Interface and Implementation Consistency @Return Statement => Reliability
Interface and Implementation Consistency @Test Class [Object-orientation]
Measured By
Bad suite method [Java]
Determined By
Java/Bad suite method/IJU_BAD_SUITE_METHOD [FindBugs]
Non-static suite method [Java]
Determined By
Java/Non-static suite method/IJU_SUITE_NOT_STATIC [FindBugs]
SetUp doesn't call super.setUp() [Java]
Determined By
Java/SetUp doesn't call super.setUp()/IJU_SETUP_NO_SUPER [FindBugs]
TearDown doesn't call super.tearDown() [Java]
Determined By
Java/TearDown doesn't call super.tearDown()/IJU_TEARDOWN_NO_SUPER [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Test Class => Analyzability
Interface and Implementation Consistency @Test Class => Functional Correctness
Interface and Implementation Consistency @Test Class => Reusability
Interface and Implementation Consistency @Test Class => Testability
Literal Validity @Annotation [Root]
Measured By
Assembly versions mismatch [C#]
Determined By
C#/Assembly versions mismatch/AvoidAssemblyVersionMismatchRule [Gendarme]
String literal does not parse correctly [C#]
Determined By
C#/String literal does not parse correctly/AttributeStringLiteralsShouldParseCorrectlyRule [Gendarme]
Evaluated By
C#/Literal Validity @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Annotation => Analyzability
Literal Validity @Annotation => Reliability
Literal Validity @Annotation => Reusability
Literal Validity @Regular expression [Root]
Measured By
Incorrect [C#]
Determined By
C#/Incorrect/ProvideCorrectRegexPatternRule [Gendarme]
Invalid syntax [Java]
Determined By
Java/Invalid syntax/RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION [FindBugs]
Evaluated By
C#/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Java/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Regular expression => Analyzability
Literal Validity @Regular expression => Functional Correctness
Literal Validity @Regular expression => Reliability
Literal Validity @XML Expression [Root]
Measured By
Invalid XML [C#]
Determined By
C#/Invalid XML/ProvideValidXmlStringRule [Gendarme]
Evaluated By
C#/Literal Validity @XML Expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XML Expression => Analyzability
Literal Validity @XML Expression => Functional Correctness
Literal Validity @XML Expression => Reliability
Literal Validity @XPath expression [Root]
Measured By
Invalid [C#]
Determined By
C#/Invalid/ProvideValidXPathExpressionRule [Gendarme]
Evaluated By
C#/Literal Validity @XPath expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XPath expression => Analyzability
Literal Validity @XPath expression => Functional Correctness
Literal Validity @XPath expression => Reliability
Memory Leak @Destructor [Object-orientation]
Impacts
Memory Leak @Destructor => Analyzability
Memory Leak @Destructor => Reliability
Memory Leak @Destructor => Resource Utilization
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Modifier Consistency @Class [Object-orientation]
Measured By
Fields of immutable classes should be final [Java]
Determined By
Java/Fields of immutable classes should be final/JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS [FindBugs]
Sealed with inheritance demand [C#]
Determined By
C#/Sealed with inheritance demand/ReviewSealedTypeWithInheritanceDemandRule [Gendarme]
Should be property [C#]
Determined By
C#/Should be property/ConsiderConvertingMethodToPropertyRule [Gendarme]
Should be static [C#]
Determined By
C#/Should be static/ConsiderUsingStaticTypeRule [Gendarme]
Evaluated By
C#/Modifier Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Modifier Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Modifier Consistency @Class => Analyzability
Natural Language Consistency @Source code comment [Root]
Measured By
Number of different natural languages in comments [Root]
Determined By
Root/Number of different natural languages in comments/Language Count [Natural Language Analysis]
Evaluated By
Root/Natural Language Consistency @Source code comment/WeightedSumMultiMeasureEvaluation
Impacts
Natural Language Consistency @Source code comment => Analyzability
Natural Language Consistency @Source code identifier [Root]
Measured By
Not preferred term [C#]
Determined By
C#/Not preferred term/UsePreferredTermsRule [Gendarme]
Proportion of identifiers in default language [Root]
Determined By
Root/Proportion of identifiers in default language/Manual Instrument
Evaluated By
C#/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Natural Language Consistency @Source code identifier => Analyzability
Natural Language Consistency @Source code identifier => Testability
Reference Validity @Method parameter [Object-orientation]
Measured By
Missing check for null argument @Method parameter [Java]
Determined By
Java/Missing check for null argument @Method parameter/NP_ARGUMENT_MIGHT_BE_NULL [FindBugs]
Missing null comparison [C#]
Determined By
C#/Missing null comparison/CheckParametersNullityInVisibleMethodsRule [Gendarme]
Parameter must be nonnull but is marked as nullable [Java]
Determined By
Java/Parameter must be nonnull but is marked as nullable/NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE [FindBugs]
Evaluated By
C#/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method parameter => Analyzability
Reference Validity @Method parameter => Modifiability
Reference Validity @Method parameter => Reliability
Reference Validity @Method parameter => Reusability
Relying on Implicit Language Behavior @Enum [Root]
Measured By
Not decorated as serializable [C#]
Determined By
C#/Not decorated as serializable/MarkEnumerationsAsSerializableRule [Gendarme]
Evaluated By
C#/Relying on Implicit Language Behavior @Enum/WeightedSumMultiMeasureEvaluation
Impacts
Relying on Implicit Language Behavior @Enum => Analyzability
Scope Definition Consistency @Field [Object-orientation]
Measured By
Masks a superclass field [Java]
Determined By
Java/Masks a superclass field/MF_CLASS_MASKS_FIELD [FindBugs]
Evaluated By
Java/Scope Definition Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Scope Definition Consistency @Field => Analyzability
Scope Definition Consistency @Field => Functional Correctness
Scope Definition Consistency @Field => Modifiability
Scope Usage Consistency @Method invocation [Root]
Measured By
Ambiguous invocation of an inherited or outer method [Java]
Determined By
Java/Ambiguous invocation of an inherited or outer method/IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD [FindBugs]
Static Thread.interrupted() method invoked on thread instance [Java]
Determined By
Java/Static Thread.interrupted() method invoked on thread instance/STI_INTERRUPTED_ON_UNKNOWNTHREAD [FindBugs]
Evaluated By
Java/Scope Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Scope Usage Consistency @Method invocation => Analyzability
Scope Usage Consistency @Method invocation => Functional Correctness
Scope Usage Consistency @Method invocation => Modifiability
Scope Usage Consistency @Method invocation => Reliability
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Synchronization Integrity @Array [Root]
Measured By
Volatile reference to an array [Java]
Determined By
Java/Volatile reference to an array/VO_VOLATILE_REFERENCE_TO_ARRAY [FindBugs]
Evaluated By
Java/Synchronization Integrity @Array/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Array => Analyzability
Synchronization Integrity @Array => Functional Correctness
Synchronization Integrity @Assignment statement [Root]
Measured By
Write to static field from instance method [Java]
Determined By
Java/Write to static field from instance method/ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD [FindBugs]
Writes static field from instance [C#]
Determined By
C#/Writes static field from instance/WriteStaticFieldFromInstanceMethodRule [Gendarme]
Evaluated By
C#/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Assignment statement => Analyzability
Synchronization Integrity @Assignment statement => Reliability
Synchronization Integrity @Catch Statement [Root]
Measured By
Dubious catching of IllegalMonitorStateException [Java]
Determined By
Java/Dubious catching of IllegalMonitorStateException/IMSE_DONT_CATCH_IMSE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Catch Statement => Analyzability
Synchronization Integrity @Catch Statement => Modifiability
Synchronization Integrity @Catch Statement => Reliability
Synchronization Integrity @Class [Object-orientation]
Measured By
Class's writeObject() method is synchronized but nothing else is [Java]
Determined By
Java/Class's writeObject() method is synchronized but nothing else is/WS_WRITEOBJECT_SYNC [FindBugs]
Inconsistent synchronization [Java]
Determined By
Java/Inconsistent synchronization/IS2_INCONSISTENT_SYNC [FindBugs]
Synchronization on getClass rather than class literal [Java]
Determined By
Java/Synchronization on getClass rather than class literal/WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL [FindBugs]
Unsynchronized get method, synchronized set method [Java]
Determined By
Java/Unsynchronized get method, synchronized set method/UG_SYNC_SET_UNSYNC_GET [FindBugs]
Evaluated By
Java/Synchronization Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Class => Analyzability
Synchronization Integrity @Class => Reliability
Synchronization Integrity @Date or Time Statement [Root]
Measured By
Call to static Calendar [Java]
Determined By
Java/Call to static Calendar/STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE [FindBugs]
Call to static DateFormat [Java]
Determined By
Java/Call to static DateFormat/STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Date or Time Statement => Analyzability
Synchronization Integrity @Date or Time Statement => Functional Correctness
Synchronization Integrity @Library function call [Root]
Measured By
Invocation of runFinalizersOnExit [Java]
Determined By
Java/Invocation of runFinalizersOnExit/DM_RUN_FINALIZERS_ON_EXIT [FindBugs]
Evaluated By
Java/Synchronization Integrity @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Library function call => Analyzability
Synchronization Integrity @Library function call => Functional Correctness
Synchronization Integrity @Library function call => Portability
Synchronization Integrity @Library function call => Reliability
Synchronization Integrity @Synchronization statement [Root]
Measured By
Locked region outside [C#]
Determined By
C#/Locked region outside/DoNotUseLockedRegionOutsideMethodRule [Gendarme]
Method synchronizes on an updated field [Java]
Determined By
Java/Method synchronizes on an updated field/ML_SYNC_ON_UPDATED_FIELD [FindBugs]
Synchronization on Boolean [Java]
Determined By
Java/Synchronization on Boolean/DL_SYNCHRONIZATION_ON_BOOLEAN [FindBugs]
Synchronization on boxed primitive constant [Java]
Determined By
Java/Synchronization on boxed primitive constant/DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE [FindBugs]
Synchronization on boxed primitive value [Java]
Determined By
Java/Synchronization on boxed primitive value/DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE [FindBugs]
Synchronization on field in futile attempt to guard that field [Java]
Determined By
Java/Synchronization on field in futile attempt to guard that field/ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD [FindBugs]
Synchronization on interned String [Java]
Determined By
Java/Synchronization on interned String/DL_SYNCHRONIZATION_ON_SHARED_CONSTANT [FindBugs]
Synchronization performed on Lock [Java]
Determined By
Java/Synchronization performed on Lock/JLM_JSR166_LOCK_MONITORENTER [FindBugs]
Using notify() rather than notifyAll() [Java]
Determined By
Java/Using notify() rather than notifyAll()/NO_NOTIFY_NOT_NOTIFYALL [FindBugs]
Wait not in loop [Java]
Determined By
Java/Wait not in loop/WA_NOT_IN_LOOP [FindBugs]
Wait with two locks held [Java]
Determined By
Java/Wait with two locks held/TLW_TWO_LOCK_WAIT [FindBugs]
Evaluated By
C#/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Synchronization statement => Analyzability
Synchronization Integrity @Synchronization statement => Reliability
Synchronization Integrity @UI Library Function Call [Root]
Measured By
Certain swing methods needs to be invoked in Swing thread [Java]
Determined By
Java/Certain swing methods needs to be invoked in Swing thread/SW_SWING_METHODS_INVOKED_IN_SWING_THREAD [FindBugs]
Evaluated By
Java/Synchronization Integrity @UI Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @UI Library Function Call => Analyzability
Synchronization Integrity @UI Library Function Call => Reliability
Synchronization Interface Consistency @Field [Object-orientation]
Measured By
Field not guarded against concurrent access [Java]
Determined By
Java/Field not guarded against concurrent access/IS_FIELD_NOT_GUARDED [FindBugs]
Evaluated By
Java/Synchronization Interface Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Interface Consistency @Field => Analyzability
Synchronization Interface Consistency @Field => Modifiability
Synchronization Interface Consistency @Field => Reliability
Synchronization Overhead @Class [Object-orientation]
Measured By
Class's readObject() method is synchronized [Java]
Determined By
Java/Class's readObject() method is synchronized/RS_READOBJECT_SYNC [FindBugs]
Evaluated By
Java/Synchronization Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Class => Analyzability
Synchronization Overhead @Class => Resource Utilization
Synchronization Overhead @Class => Time Behavior
Termination @Subroutine [Root]
Measured By
An apparent infinite loop [Java]
Determined By
Java/An apparent infinite loop/IL_INFINITE_LOOP [FindBugs]
An apparent infinite recursive loop [Java]
Determined By
Java/An apparent infinite recursive loop/IL_INFINITE_RECURSIVE_LOOP [FindBugs]
Bad recursive [C#]
Determined By
C#/Bad recursive/BadRecursiveInvocationRule [Gendarme]
Recursion in equality operator [C#]
Determined By
C#/Recursion in equality operator/DoNotRecurseInEqualityRule [Gendarme]
Evaluated By
C#/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Java/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Impacts
Termination @Subroutine => Analyzability
Termination @Subroutine => Reliability
Type Generality @Catch Statement [Root]
Measured By
Exception is caught when Exception is not thrown [Java]
Determined By
Java/Exception is caught when Exception is not thrown/REC_CATCH_EXCEPTION [FindBugs]
Evaluated By
Java/Type Generality @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Catch Statement => Analyzability
Type Generality @Catch Statement => Functional Correctness
Type Generality @Method parameter [Object-orientation]
Measured By
Overspecialized [C#]
Determined By
C#/Overspecialized/AvoidUnnecessarySpecializationRule [Gendarme]
Evaluated By
C#/Type Generality @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Method parameter => Analyzability
Type Generality @Method parameter => Modifiability
Type Generality @Method parameter => Reusability
Type Generality @Type cast [Root]
Measured By
Questionable cast to abstract collection [Java]
Determined By
Java/Questionable cast to abstract collection/BC_BAD_CAST_TO_ABSTRACT_COLLECTION [FindBugs]
Questionable cast to concrete collection [Java]
Determined By
Java/Questionable cast to concrete collection/BC_BAD_CAST_TO_CONCRETE_COLLECTION [FindBugs]
Evaluated By
Java/Type Generality @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Type cast => Analyzability
Type Generality @Type cast => Modifiability
Type Generality @Type cast => Reusability
Type Generality @XML Library Statement [Root]
Measured By
Method directly allocates a specific implementation of xml interfaces [Java]
Determined By
Java/Method directly allocates a specific implementation of xml interfaces/XFB_XML_FACTORY_BYPASS [FindBugs]
Evaluated By
Java/Type Generality @XML Library Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @XML Library Statement => Analyzability
Type Generality @XML Library Statement => Modifiability
Type Generality @XML Library Statement => Portability
Unintentional Side-Effect @Constructor [Object-orientation]
Measured By
Calls virtual method [C#]
Determined By
C#/Calls virtual method/ConstructorShouldNotCallVirtualMethodsRule [Gendarme]
Evaluated By
C#/Unintentional Side-Effect @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Constructor => Analyzability
Unintentional Side-Effect @Constructor => Functional Correctness
Unintentional Side-Effect @Constructor => Modifiability
Unintentional Side-Effect @Constructor => Reliability
Unintentional Side-Effect @IO Library Function Call [Root]
Measured By
Method ignores results of InputStream.read() [Java]
Determined By
Java/Method ignores results of InputStream.read()/RR_NOT_CHECKED [FindBugs]
Method ignores results of InputStream.skip() [Java]
Determined By
Java/Method ignores results of InputStream.skip()/SR_NOT_CHECKED [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @IO Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @IO Library Function Call => Analyzability
Unintentional Side-Effect @IO Library Function Call => Functional Correctness
Unintentional Side-Effect @Object Allocation Statement [Root]
Measured By
Initialization circularity [Java]
Determined By
Java/Initialization circularity/IC_INIT_CIRCULARITY [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Object Allocation Statement => Analyzability
Unintentional Side-Effect @Object Allocation Statement => Reliability
Unnecessarily Complicated @Bitwise logical expression [Root]
Measured By
32 bit int shifted by an amount not in the range 0..31 [Java]
Determined By
Java/32 bit int shifted by an amount not in the range 0..31/ICAST_BAD_SHIFT_AMOUNT [FindBugs]
Check to see if ((...) & 0) == 0 [Java]
Determined By
Java/Check to see if ((...) & 0) == 0/BIT_AND_ZZ [FindBugs]
Incompatible bit masks (AND) [Java]
Determined By
Java/Incompatible bit masks (AND)/BIT_AND [FindBugs]
Incompatible bit masks (OR) [Java]
Determined By
Java/Incompatible bit masks (OR)/BIT_IOR [FindBugs]
Unsigned right shift cast to short/byte [Java]
Determined By
Java/Unsigned right shift cast to short/byte/ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Bitwise logical expression => Analyzability
Unnecessarily Complicated @Bitwise logical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression => Resource Utilization
Unnecessarily Complicated @Bitwise logical expression => Time Behavior
Unnecessarily Complicated @Boolean expression [Root]
Impacts
Unnecessarily Complicated @Boolean expression => Analyzability
Unnecessarily Complicated @Boolean expression => Functional Correctness
Unnecessarily Complicated @Boolean expression => Resource Utilization
Unnecessarily Complicated @Boolean expression => Time Behavior
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Comparison expression [Root]
Measured By
Assigns boolean literal in boolean expression [Java]
Determined By
Java/Assigns boolean literal in boolean expression/QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT [FindBugs]
Bad comparison of nonnegative value with negative constant [Java]
Determined By
Java/Bad comparison of nonnegative value with negative constant/INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE [FindBugs]
Bad comparison of signed byte [Java]
Determined By
Java/Bad comparison of signed byte/INT_BAD_COMPARISON_WITH_SIGNED_BYTE [FindBugs]
Equals used to compare array and nonarray [Java]
Determined By
Java/Equals used to compare array and nonarray/EC_ARRAY_AND_NONARRAY [FindBugs]
Equals used to compare incompatible arrays [Java]
Determined By
Java/Equals used to compare incompatible arrays/EC_INCOMPATIBLE_ARRAY_COMPARE [FindBugs]
Equals with null [C#]
Determined By
C#/Equals with null/CallingEqualsWithNullArgRule [Gendarme]
Null argument [Java]
Determined By
Java/Null argument/EC_NULL_ARG [FindBugs]
Self comparison of field with itself [Java]
Determined By
Java/Self comparison of field with itself/SA_FIELD_SELF_COMPARISON [FindBugs]
Self comparison of value with itself [Java]
Determined By
Java/Self comparison of value with itself/SA_LOCAL_SELF_COMPARISON [FindBugs]
Using pointer equality to compare different types [Java]
Determined By
Java/Using pointer equality to compare different types/EC_UNRELATED_TYPES_USING_POINTER_EQUALITY [FindBugs]
Vacuous comparison of integer value [Java]
Determined By
Java/Vacuous comparison of integer value/INT_VACUOUS_COMPARISON [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Comparison expression => Analyzability
Unnecessarily Complicated @Comparison expression => Functional Correctness
Unnecessarily Complicated @Comparison expression => Resource Utilization
Unnecessarily Complicated @Comparison expression => Time Behavior
Unnecessarily Complicated @Conditional statement [Root]
Measured By
Repeated conditional tests [Java]
Determined By
Java/Repeated conditional tests/RpC_REPEATED_CONDITIONAL_TEST [FindBugs]
Same code for two branches [Java]
Determined By
Java/Same code for two branches/DB_DUPLICATE_BRANCHES [FindBugs]
Same code for two switch clauses [Java]
Determined By
Java/Same code for two switch clauses/DB_DUPLICATE_SWITCH_CLAUSES [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Conditional statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Conditional statement => Analyzability
Unnecessarily Complicated @Conditional statement => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call [Root]
Measured By
Method calls static Math class method on a constant value [Java]
Determined By
Java/Method calls static Math class method on a constant value/UM_UNNECESSARY_MATH [FindBugs]
Unnecessary call of nextDouble to generate a random integer [Java]
Determined By
Java/Unnecessary call of nextDouble to generate a random integer/DM_NEXTINT_VIA_NEXTDOUBLE [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical Library Function Call => Analyzability
Unnecessarily Complicated @Mathematical Library Function Call => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call => Resource Utilization
Unnecessarily Complicated @Mathematical Library Function Call => Time Behavior
Unnecessarily Complicated @Mathematical expression [Root]
Measured By
Modulo 1 on integral type [Root]
Determined By
C#/Modulo 1 on integral type/ReviewUseOfModuloOneOnIntegersRule [Gendarme]
Java/Modulo 1 on integral type/INT_BAD_REM_BY_1 [FindBugs]
Nonsensical self computation involving a field [Java]
Determined By
Java/Nonsensical self computation involving a field/SA_FIELD_SELF_COMPUTATION [FindBugs]
Nonsensical self computation involving a variable [Java]
Determined By
Java/Nonsensical self computation involving a variable/SA_LOCAL_SELF_COMPUTATION [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical expression => Analyzability
Unnecessarily Complicated @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Mathematical expression => Resource Utilization
Unnecessarily Complicated @Mathematical expression => Time Behavior
Unnecessarily Complicated @Namespace [Root]
Measured By
Deep hierarchy [C#]
Determined By
C#/Deep hierarchy/AvoidDeepNamespaceHierarchyRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Namespace => Analyzability
Unnecessarily Complicated @Regular expression [Root]
Measured By
. used for regular expression [Java]
Determined By
Java/. used for regular expression/RE_POSSIBLE_UNINTENDED_PATTERN [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Regular expression => Analyzability
Unnecessarily Complicated @Regular expression => Functional Correctness
Unnecessarily Complicated @Regular expression => Resource Utilization
Unnecessarily Complicated @Regular expression => Time Behavior
Unnecessarily Complicated @String Library Function Call [Root]
Measured By
Invocation of substring(0) [Java]
Determined By
Java/Invocation of substring(0)/DMI_USELESS_SUBSTRING [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @String Library Function Call => Analyzability
Unnecessarily Complicated @String Library Function Call => Functional Correctness
Unnecessarily Complicated @String Library Function Call => Resource Utilization
Unnecessarily Complicated @String Library Function Call => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Unnecessarily Complicated @Type conversion expression [Root]
Measured By
Double.longBitsToDouble invoked on an int [Java]
Determined By
Java/Double.longBitsToDouble invoked on an int/DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT [FindBugs]
Invalid BitConverter.Int64BitsToDouble [C#]
Determined By
C#/Invalid BitConverter.Int64BitsToDouble/ReviewUseOfInt64BitsToDoubleRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type conversion expression => Analyzability
Unnecessarily Complicated @Type conversion expression => Functional Correctness
Unnecessarily Complicated @Type identification statement [Root]
Measured By
Always false [Java]
Determined By
Java/Always false/BC_IMPOSSIBLE_INSTANCEOF [FindBugs]
Always true [Java]
Determined By
Java/Always true/BC_VACUOUS_INSTANCEOF [FindBugs]
Comparing different interface types [Java]
Determined By
Java/Comparing different interface types/EC_UNRELATED_INTERFACES [FindBugs]
Comparing different types [Java]
Determined By
Java/Comparing different types/EC_UNRELATED_TYPES [FindBugs]
Comparing unrelated class and interface [Java]
Determined By
Java/Comparing unrelated class and interface/EC_UNRELATED_CLASS_AND_INTERFACE [FindBugs]
Known null value [Java]
Determined By
Java/Known null value/NP_NULL_INSTANCEOF [FindBugs]
Method allocates an object, only to get the class object [Java]
Determined By
Java/Method allocates an object, only to get the class object/DM_NEW_FOR_GETCLASS [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type identification statement => Analyzability
Unnecessarily Complicated @Type identification statement => Functional Correctness
Unnecessarily Complicated @Type identification statement => Resource Utilization
Unnecessarily Complicated @Type identification statement => Time Behavior
Unneeded Resource Overhead @Class [Object-orientation]
Measured By
Too general [C#]
Determined By
C#/Too general/AvoidSpeculativeGeneralityRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Class => Analyzability
Unneeded Resource Overhead @Class => Resource Utilization
Unneeded Resource Overhead @Class => Time Behavior
Unneeded Resource Overhead @Field [Object-orientation]
Measured By
Literal candidate [C#]
Determined By
C#/Literal candidate/PreferLiteralOverInitOnlyFieldsRule [Gendarme]
Should be nullable [C#]
Determined By
C#/Should be nullable/ConsiderConvertingFieldToNullableRule [Gendarme]
Unneeded Initialization [C#]
Determined By
C#/Unneeded Initialization/AvoidUnneededFieldInitializationRule [Gendarme]
Unsealed and concrete [C#]
Determined By
C#/Unsealed and concrete/AvoidUnsealedConcreteAttributesRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Field/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Field => Analyzability
Unneeded Resource Overhead @Field => Resource Utilization
Unneeded Resource Overhead @Field => Time Behavior
Unneeded Resource Overhead @Internal class [Object-orientation]
Measured By
Uninherited and unsealed [C#]
Determined By
C#/Uninherited and unsealed/AvoidUnsealedUninheritedInternalTypeRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Internal class => Analyzability
Unneeded Resource Overhead @Internal class => Time Behavior
Unneeded Resource Overhead @Method [Object-orientation]
Measured By
Could be static [C#]
Determined By
C#/Could be static/MethodCanBeMadeStaticRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Method/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Method => Analyzability
Unneeded Resource Overhead @Method => Resource Utilization
Unneeded Resource Overhead @Method => Time Behavior
Unneeded Resource Overhead @Object Allocation Statement [Root]
Measured By
EmptyTypes Candidate [C#]
Determined By
C#/EmptyTypes Candidate/UseTypeEmptyTypesRule [Gendarme]
Invocation of Boolean constructor [Java]
Determined By
Java/Invocation of Boolean constructor/DM_BOOLEAN_CTOR [FindBugs]
Invocation of new String() constructor [Java]
Determined By
Java/Invocation of new String() constructor/DM_STRING_VOID_CTOR [FindBugs]
Invocation of new String(String) constructor [Java]
Determined By
Java/Invocation of new String(String) constructor/DM_STRING_CTOR [FindBugs]
Method invokes inefficient Number constructor [Java]
Determined By
Java/Method invokes inefficient Number constructor/DM_NUMBER_CTOR [FindBugs]
Method invokes inefficient floating-point Number constructor [Java]
Determined By
Java/Method invokes inefficient floating-point Number constructor/DM_FP_NUMBER_CTOR [FindBugs]
String.Empty Candidate [C#]
Determined By
C#/String.Empty Candidate/UseStringEmptyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Object Allocation Statement => Analyzability
Unneeded Resource Overhead @Object Allocation Statement => Resource Utilization
Unneeded Resource Overhead @Object Allocation Statement => Time Behavior
Unneeded Resource Overhead @Type conversion expression [Root]
Measured By
Method allocates a boxed primitive just to call toString [Java]
Determined By
Java/Method allocates a boxed primitive just to call toString/DM_BOXED_PRIMITIVE_TOSTRING [FindBugs]
Primitive value is boxed and then immediately unboxed [Java]
Determined By
Java/Primitive value is boxed and then immediately unboxed/BX_BOXING_IMMEDIATELY_UNBOXED [FindBugs]
Primitive value is boxed then unboxed to perform primitive coercion [Java]
Determined By
Java/Primitive value is boxed then unboxed to perform primitive coercion/BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION [FindBugs]
Primitive value is unboxed and coerced for ternary operator [Java]
Determined By
Java/Primitive value is unboxed and coerced for ternary operator/BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR [FindBugs]
Unneeded [C#]
Determined By
C#/Unneeded/AvoidUnneededUnboxingRule [Gendarme]
Evaluated By
Java/Unneeded Resource Overhead @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type conversion expression => Analyzability
Unneeded Resource Overhead @Type conversion expression => Resource Utilization
Unneeded Resource Overhead @Type conversion expression => Time Behavior
Uselessness @Assignment statement [Root]
Measured By
A parameter is dead upon entry to a method but overwritten [Java]
Determined By
Java/A parameter is dead upon entry to a method but overwritten/IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN [FindBugs]
Assigns null [Java]
Determined By
Java/Assigns null/DLS_DEAD_LOCAL_STORE_OF_NULL [FindBugs]
Dead store due to switch statement fall through [Java]
Determined By
Java/Dead store due to switch statement fall through/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH [FindBugs]
Dead store due to switch statement fall through to throw [Java]
Determined By
Java/Dead store due to switch statement fall through to throw/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW [FindBugs]
Dead store to local variable [Java]
Determined By
Java/Dead store to local variable/DLS_DEAD_LOCAL_STORE [FindBugs]
Double assignment [C#]
Determined By
C#/Double assignment/ReviewDoubleAssignmentRule [Gendarme]
Double assignment of field [Java]
Determined By
Java/Double assignment of field/SA_FIELD_DOUBLE_ASSIGNMENT [FindBugs]
Double assignment of local variable [Java]
Determined By
Java/Double assignment of local variable/SA_LOCAL_DOUBLE_ASSIGNMENT [FindBugs]
Finalizer nulls fields [Java]
Determined By
Java/Finalizer nulls fields/FI_FINALIZER_NULLS_FIELDS [FindBugs]
Self assignment [C#]
Determined By
C#/Self assignment/ReviewSelfAssignmentRule [Gendarme]
Self assignment of field [Java]
Determined By
Java/Self assignment of field/SA_FIELD_SELF_ASSIGNMENT [FindBugs]
Self assignment of local variable [Java]
Determined By
Java/Self assignment of local variable/SA_LOCAL_SELF_ASSIGNMENT [FindBugs]
Useless assignment in return statement [Java]
Determined By
Java/Useless assignment in return statement/DLS_DEAD_LOCAL_STORE_IN_RETURN [FindBugs]
Evaluated By
C#/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Assignment statement => Analyzability
Uselessness @Assignment statement => Functional Correctness
Uselessness @Assignment statement => Resource Utilization
Uselessness @Assignment statement => Time Behavior
Uselessness @Control flow statement [Root]
Measured By
Nullcheck of value previously dereferenced [Java]
Determined By
Java/Nullcheck of value previously dereferenced/RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE [FindBugs]
Synchronize and null check on the same field [Java]
Determined By
Java/Synchronize and null check on the same field/NP_SYNC_AND_NULL_CHECK_FIELD [FindBugs]
Useless [C#]
Determined By
C#/Useless/ReviewUselessControlFlowRule [Gendarme]
Useless control flow [Java]
Determined By
Java/Useless control flow/UCF_USELESS_CONTROL_FLOW [FindBugs]
Useless control flow to next line [Java]
Determined By
Java/Useless control flow to next line/UCF_USELESS_CONTROL_FLOW_NEXT_LINE [FindBugs]
Evaluated By
C#/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Control flow statement => Analyzability
Uselessness @Control flow statement => Functional Correctness
Uselessness @Control flow statement => Resource Utilization
Uselessness @Control flow statement => Time Behavior
Uselessness @Deallocation statement [Root]
Measured By
Explicit [Java]
Determined By
Java/Explicit/DM_GC [FindBugs]
Evaluated By
Java/Uselessness @Deallocation statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Deallocation statement => Analyzability
Uselessness @Deallocation statement => Portability
Uselessness @Deallocation statement => Resource Utilization
Uselessness @Deallocation statement => Time Behavior
Uselessness @Destructor [Object-orientation]
Measured By
Empty [C#]
Determined By
C#/Empty/RemoveUnneededFinalizerRule [Gendarme]
Empty finalize [Java]
Determined By
Java/Empty finalize/FI_EMPTY [FindBugs]
Finalizer does nothing but call superclass finalizer [Java]
Determined By
Java/Finalizer does nothing but call superclass finalizer/FI_USELESS [FindBugs]
Finalizer only nulls fields [Java]
Determined By
Java/Finalizer only nulls fields/FI_FINALIZER_ONLY_NULLS_FIELDS [FindBugs]
Evaluated By
C#/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Destructor => Analyzability
Uselessness @Destructor => Resource Utilization
Uselessness @Destructor => Time Behavior
Uselessness @Enumeration Value [Root]
Measured By
With reserved [C#]
Determined By
C#/With reserved/DoNotUseReservedInEnumValueNamesRule [Gendarme]
Evaluated By
C#/Uselessness @Enumeration Value/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Enumeration Value => Analyzability
Uselessness @Enumeration Value => Modifiability
Uselessness @Enumeration Value => Testability
Uselessness @Expression [Root]
Measured By
Redundant comparison of non-null value to null [Java]
Determined By
Java/Redundant comparison of non-null value to null/RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE [FindBugs]
Redundant comparison of two null values [Java]
Determined By
Java/Redundant comparison of two null values/RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES [FindBugs]
Redundant nullcheck of value known to be non-null [Java]
Determined By
Java/Redundant nullcheck of value known to be non-null/RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE [FindBugs]
Redundant nullcheck of value known to be null [Java]
Determined By
Java/Redundant nullcheck of value known to be null/RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE [FindBugs]
Evaluated By
Java/Uselessness @Expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Expression => Analyzability
Uselessness @Expression => Resource Utilization
Uselessness @Expression => Time Behavior
Uselessness @Field [Object-orientation]
Measured By
Always null [C#]
Determined By
C#/Always null/AvoidAlwaysNullFieldRule [Gendarme]
Only ever set to null [Java]
Determined By
Java/Only ever set to null/UWF_NULL_FIELD [FindBugs]
Statically unused @Field [Object-orientation]
Determined By
C#/Statically unused @Field/AvoidUnusedPrivateFieldsRule [Gendarme]
Java/Statically unused @Field/UnusedPrivateField [PMD]
Unread [Java]
Determined By
Java/Unread/URF_UNREAD_FIELD [FindBugs]
Unused @Field [Java]
Determined By
Java/Unused @Field/UUF_UNUSED_FIELD [FindBugs]
Evaluated By
C#/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Field => Analyzability
Uselessness @Field => Functional Correctness
Uselessness @Field => Resource Utilization
Uselessness @Interface [Root]
Measured By
Empty interface [C#]
Determined By
C#/Empty interface/AvoidEmptyInterfaceRule [Gendarme]
Evaluated By
C#/Uselessness @Interface/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Interface => Analyzability
Uselessness @Internal class [Object-orientation]
Measured By
Uninstantiated [C#]
Determined By
C#/Uninstantiated/AvoidUninstantiatedInternalClassesRule [Gendarme]
Evaluated By
C#/Uselessness @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Internal class => Analyzability
Uselessness @Internal class => Functional Correctness
Uselessness @Library function call [Root]
Measured By
Creation of an empty jar file entry [Java]
Determined By
Java/Creation of an empty jar file entry/AM_CREATES_EMPTY_JAR_FILE_ENTRY [FindBugs]
Creation of an empty zip file entry [Java]
Determined By
Java/Creation of an empty zip file entry/AM_CREATES_EMPTY_ZIP_FILE_ENTRY [FindBugs]
Discard of result of readLine after checking if it is nonnull [Java]
Determined By
Java/Discard of result of readLine after checking if it is nonnull/RV_DONT_JUST_NULL_CHECK_READLINE [FindBugs]
Evaluated By
Java/Uselessness @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Library function call => Analyzability
Uselessness @Library function call => Functional Correctness
Uselessness @Library function call => Resource Utilization
Uselessness @Library function call => Time Behavior
Uselessness @Literal [Root]
Measured By
Unused @Literal [Java]
Determined By
Java/Unused @Literal/DLS_DEAD_STORE_OF_CLASS_LITERAL [FindBugs]
Evaluated By
Java/Uselessness @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Literal => Analyzability
Uselessness @Literal => Functional Correctness
Uselessness @Literal => Resource Utilization
Uselessness @Local variable [Root]
Measured By
Statically unused [Root]
Determined By
Java/Statically unused/UnusedLocalVariable [PMD]
Unused Local Variables [C#]
Determined By
C#/Unused Local Variables/RemoveUnusedLocalVariablesRule [Gendarme]
Evaluated By
Java/Uselessness @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Local variable => Analyzability
Uselessness @Local variable => Functional Correctness
Uselessness @Local variable => Resource Utilization
Uselessness @Mathematical expression [Root]
Measured By
Random value from 0 to 1 is coerced to the integer 0 [Java]
Determined By
Java/Random value from 0 to 1 is coerced to the integer 0/RV_01_TO_INT [FindBugs]
Rounded integer [C#]
Determined By
C#/Rounded integer/DoNotRoundIntegersRule [Gendarme]
Evaluated By
C#/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical expression => Analyzability
Uselessness @Mathematical expression => Functional Correctness
Uselessness @Mathematical expression => Time Behavior
Uselessness @Method [Object-orientation]
Measured By
Never called [Java]
Determined By
Java/Never called/UPM_UNCALLED_PRIVATE_METHOD [FindBugs]
Statically unused @Method [Object-orientation]
Determined By
C#/Statically unused @Method/AvoidUncalledPrivateCodeRule [Gendarme]
Java/Statically unused @Method/UnusedPrivateMethod [PMD]
Uncallable method defined in anonymous class [Java]
Determined By
Java/Uncallable method defined in anonymous class/UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method => Analyzability
Uselessness @Method => Functional Correctness
Uselessness @Method => Resource Utilization
Uselessness @Method parameter [Object-orientation]
Measured By
Does not use value in setter [C#]
Determined By
C#/Does not use value in setter/UseValueInPropertySetterRule [Gendarme]
Statically unused @Method parameter [Object-orientation]
Determined By
C#/Statically unused @Method parameter/AvoidUnusedParametersRule [Gendarme]
Java/Statically unused @Method parameter/UnusedFormalParameter [PMD]
Evaluated By
C#/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method parameter => Analyzability
Uselessness @Method parameter => Functional Correctness
Uselessness @Object Allocation Statement [Root]
Measured By
Exception created and dropped rather than thrown [Java]
Determined By
Java/Exception created and dropped rather than thrown/RV_EXCEPTION_NOT_THROWN [FindBugs]
Exception instantiated without throwing [C#]
Determined By
C#/Exception instantiated without throwing/CheckNewExceptionWithoutThrowingRule [Gendarme]
Needless instantiation of class that only supplies static methods [Java]
Determined By
Java/Needless instantiation of class that only supplies static methods/ISC_INSTANTIATE_STATIC_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Object Allocation Statement => Analyzability
Uselessness @Object Allocation Statement => Functional Correctness
Uselessness @Object Allocation Statement => Resource Utilization
Uselessness @Object Allocation Statement => Time Behavior
Uselessness @Public non interface method [Root]
Measured By
Proportion of statically unused non-private subroutines @Public non interface method [Root]
Determined By
Root/Proportion of statically unused non-private subroutines @Public non interface method/Manual Instrument
Evaluated By
Root/Uselessness @Public non interface method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Public non interface method => Analyzability
Uselessness @Public non interface method => Functional Correctness
Uselessness @Public non interface method => Resource Utilization
Uselessness @Public non interface method => Time Behavior
Uselessness @Source code comment [Root]
Measured By
Proportion of helpful comments @Source code comment [Root]
Determined By
Root/Proportion of helpful comments @Source code comment/Manual Instrument
Proportion of outdated comments [Root]
Determined By
Root/Proportion of outdated comments/Manual Instrument
Evaluated By
Root/Uselessness @Source code comment/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Source code comment => Analyzability
Uselessness @String Library Function Call [Root]
Measured By
Invocation of toString() method on a String [Java]
Determined By
Java/Invocation of toString() method on a String/DM_STRING_TOSTRING [FindBugs]
Unneeded calls [C#]
Determined By
C#/Unneeded calls/AvoidUnneededCallsOnStringRule [Gendarme]
Evaluated By
C#/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @String Library Function Call => Analyzability
Uselessness @String Library Function Call => Resource Utilization
Uselessness @String Library Function Call => Time Behavior
Uselessness @Test Class [Object-orientation]
Measured By
No tests [Java]
Determined By
Java/No tests/IJU_NO_TESTS [FindBugs]
Evaluated By
Java/Uselessness @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Test Class => Analyzability
Uselessness @Test Class => Testability
Uselessness @Thread [Root]
Measured By
Default empty run method [Java]
Determined By
Java/Default empty run method/DM_USELESS_THREAD [FindBugs]
New without start [C#]
Determined By
C#/New without start/CheckNewThreadWithoutStartRule [Gendarme]
Evaluated By
C#/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Thread => Analyzability
Uselessness @Thread => Functional Correctness
Uselessness @Thread => Resource Utilization
Uselessness @Thread => Time Behavior
Uselessness @Type cast [Root]
Measured By
Repetitive cast [C#]
Determined By
C#/Repetitive cast/AvoidRepetitiveCastsRule [Gendarme]
Evaluated By
C#/Uselessness @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Type cast => Analyzability
Uselessness @Type cast => Time Behavior
Value Validity @Field [Object-orientation]
Measured By
Read of unwritten field [Java]
Determined By
Java/Read of unwritten field/NP_UNWRITTEN_FIELD [FindBugs]
Uninitialized read of field in constructor [Java]
Determined By
Java/Uninitialized read of field in constructor/UR_UNINIT_READ [FindBugs]
Uninitialized read of field method called from constructor of superclass [Java]
Determined By
Java/Uninitialized read of field method called from constructor of superclass/UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR [FindBugs]
Evaluated By
Java/Value Validity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Field => Analyzability
Value Validity @Field => Reliability
Value Validity @Variable [Root]
Measured By
Value annotated as carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as carrying a type qualifier used in a contradicting way/TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED [FindBugs]
Value annotated as never carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as never carrying a type qualifier used in a contradicting way/TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED [FindBugs]
Value requires to be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Value requires to never be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to never be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might not carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might not carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Evaluated By
Java/Value Validity @Variable/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Variable => Analyzability
Value Validity @Variable => Reliability
Evaluated By
C#/Analyzability/WeightedSumFactorAggregation
Java/Analyzability/WeightedSumFactorAggregation
Object-orientation/Analyzability/WeightedSumFactorAggregation
Root/Analyzability/WeightedSumFactorAggregation
Modifiability [Root]
Influenced By
Ambiguous Reference vs. Value Type Usage @Comparison expression [Root]
Measured By
Comparison of String objects using == or != [Java]
Determined By
Java/Comparison of String objects using == or !=/ES_COMPARING_STRINGS_WITH_EQ [FindBugs]
Comparison of String parameter using == or != [Java]
Determined By
Java/Comparison of String parameter using == or !=/ES_COMPARING_PARAMETER_STRING_WITH_EQ [FindBugs]
Comparison with empty string [C#]
Determined By
C#/Comparison with empty string/CompareWithStringEmptyEfficientlyRule [Gendarme]
Suspicious comparison of Boolean values [Java]
Determined By
Java/Suspicious comparison of Boolean values/RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN [FindBugs]
Suspicious reference comparison [Java]
Determined By
Java/Suspicious reference comparison/RC_REF_COMPARISON [FindBugs]
Suspicious reference comparison to constant [Java]
Determined By
Java/Suspicious reference comparison to constant/RC_REF_COMPARISON_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Ambiguous Reference vs. Value Type Usage @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Comparison expression => Analyzability
Ambiguous Reference vs. Value Type Usage @Comparison expression => Functional Correctness
Ambiguous Reference vs. Value Type Usage @Comparison expression => Modifiability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @ToString Method [Object-orientation]
Measured By
Conversion to string returns null [C#]
Determined By
C#/Conversion to string returns null/ToStringShouldNotReturnNullRule [Gendarme]
ToString method may return null [Java]
Determined By
Java/ToString method may return null/NP_TOSTRING_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @ToString Method => Modifiability
Behavioral Integrity @ToString Method => Reliability
Behavioral Integrity @ToString Method => Reusability
Behavioral Integrity @ToString Method => Testability
Conformity to Naming Convention @Method name [Object-orientation]
Measured By
Apparent method/constructor confusion [Java]
Determined By
Java/Apparent method/constructor confusion/NM_METHOD_CONSTRUCTOR_CONFUSION [FindBugs]
Redundant parts @Method name [C#]
Determined By
C#/Redundant parts @Method name/AvoidRedundancyInMethodNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method name => Analyzability
Conformity to Naming Convention @Method name => Modifiability
Conformity to Naming Convention @Method name => Testability
Definition and Usage Consistency @Annotation [Root]
Measured By
Missing runtime retention [Java]
Determined By
Java/Missing runtime retention/DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION [FindBugs]
Obsolete is empty [C#]
Determined By
C#/Obsolete is empty/ObsoleteMessagesShouldNotBeEmptyRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Annotation => Functional Correctness
Definition and Usage Consistency @Annotation => Modifiability
Definition and Usage Consistency @Destructor [Object-orientation]
Measured By
Explicit invocation of finalizer [Java]
Determined By
Java/Explicit invocation of finalizer/FI_EXPLICIT_INVOCATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Destructor => Analyzability
Definition and Usage Consistency @Destructor => Functional Correctness
Definition and Usage Consistency @Destructor => Modifiability
Definition and Usage Consistency @Interface [Root]
Measured By
Redundant interface implementation [Java]
Determined By
Java/Redundant interface implementation/RI_REDUNDANT_INTERFACES [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Interface/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Interface => Modifiability
Definition and Usage Consistency @Interface => Reusability
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Detail Complexity @Class [Object-orientation]
Measured By
Large @Class [C#]
Determined By
C#/Large @Class/AvoidLargeClassesRule [Gendarme]
Evaluated By
C#/Detail Complexity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Class => Analyzability
Detail Complexity @Class => Modifiability
Detail Complexity @Method [Object-orientation]
Measured By
Deep nesting [Java]
Determined By
Java/Deep nesting/Nesting Depth Exceeded [Java Code Structure Analysis]
Long [C#]
Determined By
C#/Long/AvoidLongMethodsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method => Analyzability
Detail Complexity @Method => Modifiability
Detail Complexity @Method invocation [Root]
Measured By
Message chain smell [C#]
Determined By
C#/Message chain smell/AvoidMessageChainsRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method invocation => Analyzability
Detail Complexity @Method invocation => Modifiability
Detail Complexity @Source file [Root]
Measured By
Large [Root]
Determined By
C#/Large/Overly Long File [C# Basic metrics]
Java/Large/Overly Long File [Java Code Structure Analysis]
Evaluated By
C#/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Source file/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Source file => Analyzability
Detail Complexity @Source file => Modifiability
Duplication @Source code part [Root]
Measured By
Clone coverage [Root]
Determined By
C#/Clone coverage/UnitCoverage [C# Clone Detection]
Java/Clone coverage/UnitCoverage [Java Clone Detection]
Cloning overhead [Root]
Determined By
C#/Cloning overhead/Overhead [C# Clone Detection]
Java/Cloning overhead/Overhead [Java Clone Detection]
Evaluated By
C#/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Java/Duplication @Source code part/WeightedSumMultiMeasureEvaluation
Impacts
Duplication @Source code part => Analyzability
Duplication @Source code part => Modifiability
Dynamic Complexity @Method [Object-orientation]
Measured By
High cyclomatic complexity [C#]
Determined By
C#/High cyclomatic complexity/AvoidComplexMethodsRule [Gendarme]
Evaluated By
C#/Dynamic Complexity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Dynamic Complexity @Method => Analyzability
Dynamic Complexity @Method => Modifiability
Encapsulation Strength @Class [Object-orientation]
Measured By
Abstract type with public constructor [C#]
Determined By
C#/Abstract type with public constructor/AbstractTypesShouldNotHavePublicConstructorsRule [Gendarme]
Deep inheritance [C#]
Determined By
C#/Deep inheritance/AvoidDeepInheritanceTreeRule [Gendarme]
Incorporates reference to mutable object [Java]
Determined By
Java/Incorporates reference to mutable object/EI_EXPOSE_REP2 [FindBugs]
Lack of cohesion [C#]
Determined By
C#/Lack of cohesion/AvoidLackOfCohesionOfMethodsRule [Gendarme]
Private readResolve method not inherited by subclasses [Java]
Determined By
Java/Private readResolve method not inherited by subclasses/SE_PRIVATE_READ_RESOLVE_NOT_INHERITED [FindBugs]
Evaluated By
C#/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Class => Modifiability
Encapsulation Strength @Class => Reliability
Encapsulation Strength @Class => Security
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
Encapsulation Strength @Method [Object-orientation]
Measured By
Exposed and protected by link demand [C#]
Determined By
C#/Exposed and protected by link demand/DoNotExposeMethodsProtectedByLinkDemandRule [Gendarme]
Large number of local variables [C#]
Determined By
C#/Large number of local variables/AvoidLargeNumberOfLocalVariablesRule [Gendarme]
Long parameter list [C#]
Determined By
C#/Long parameter list/AvoidLongParameterListsRule [Gendarme]
Public static method may expose internal representation by returning array [Java]
Determined By
Java/Public static method may expose internal representation by returning array/MS_EXPOSE_REP [FindBugs]
Evaluated By
C#/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Method => Analyzability
Encapsulation Strength @Method => Modifiability
Encapsulation Strength @Method => Security
Encapsulation Strength @Property [Object-orientation]
Measured By
Returns array [C#]
Determined By
C#/Returns array/AvoidReturningArraysOnPropertiesRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Property/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Property => Modifiability
Encapsulation Strength @Property => Reliability
Encapsulation Strength @Property => Security
Encapsulation Strength @Synchronization statement [C#]
Measured By
Lock on weak identity objects [C#]
Determined By
C#/Lock on weak identity objects/DoNotLockOnWeakIdentityObjectsRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Synchronization statement => Modifiability
Encapsulation Strength @Synchronization statement => Reliability
Encapsulation Strength @Synchronization statement => Security
General Expression Applicability @Type identification statement [Root]
Measured By
Uses GetInterface to check assignability [C#]
Determined By
C#/Uses GetInterface to check assignability/DoNotUseGetInterfaceToCheckAssignabilityRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type identification statement => Modifiability
General Expression Applicability @Type identification statement => Reliability
General Expression Applicability @Type identification statement => Testability
Ignored Existence of Already Implemented Code @Class [Object-orientation]
Measured By
Code duplicated in same [C#]
Determined By
C#/Code duplicated in same/AvoidCodeDuplicatedInSameClassRule [Gendarme]
Code duplicated in sibling [C#]
Determined By
C#/Code duplicated in sibling/AvoidCodeDuplicatedInSiblingClassesRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Class/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Class => Analyzability
Ignored Existence of Already Implemented Code @Class => Modifiability
Ignored Existence of Already Implemented Code @Switch statement [Root]
Measured By
Duplicated [C#]
Determined By
C#/Duplicated/AvoidSwitchStatementsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Switch statement => Analyzability
Ignored Existence of Already Implemented Code @Switch statement => Modifiability
Interface and Implementation Consistency @Collection Statement [Root]
Measured By
No relationship between generic parameter and method argument [Java]
Determined By
Java/No relationship between generic parameter and method argument/GC_UNRELATED_TYPES [FindBugs]
Unchecked type in generic call [Java]
Determined By
Java/Unchecked type in generic call/GC_UNCHECKED_TYPE_IN_GENERIC_CALL [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Collection Statement => Modifiability
Interface and Implementation Consistency @Namespace [Root]
Measured By
Inconsistent types and interfaces [C#]
Determined By
C#/Inconsistent types and interfaces/AvoidTypeInterfaceInconsistencyRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Namespace/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Namespace => Analyzability
Interface and Implementation Consistency @Namespace => Modifiability
Interface and Implementation Consistency @Property [Object-orientation]
Measured By
Without get accessor [C#]
Determined By
C#/Without get accessor/AvoidPropertiesWithoutGetAccessorRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Property/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Property => Analyzability
Interface and Implementation Consistency @Property => Modifiability
Interface and Implementation Consistency @Return Statement [Root]
Measured By
Consider returning a zero length array rather than null [Java]
Determined By
Java/Consider returning a zero length array rather than null/PZLA_PREFER_ZERO_LENGTH_ARRAYS [FindBugs]
May return null, but is declared NonNull [Java]
Determined By
Java/May return null, but is declared NonNull/NP_NONNULL_RETURN_VIOLATION [FindBugs]
Method with Boolean return type returns explicit null [Java]
Determined By
Java/Method with Boolean return type returns explicit null/NP_BOOLEAN_RETURN_NULL [FindBugs]
Returns null for collection types [C#]
Determined By
C#/Returns null for collection types/PreferEmptyInstanceOverNullRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Java/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Return Statement => Analyzability
Interface and Implementation Consistency @Return Statement => Modifiability
Interface and Implementation Consistency @Return Statement => Reliability
Interface and Implementation Consistency @Switch statement [Root]
Measured By
Default case is missing [Java]
Determined By
Java/Default case is missing/SF_SWITCH_NO_DEFAULT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Switch statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Switch statement => Modifiability
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Reference Validity @Method parameter [Object-orientation]
Measured By
Missing check for null argument @Method parameter [Java]
Determined By
Java/Missing check for null argument @Method parameter/NP_ARGUMENT_MIGHT_BE_NULL [FindBugs]
Missing null comparison [C#]
Determined By
C#/Missing null comparison/CheckParametersNullityInVisibleMethodsRule [Gendarme]
Parameter must be nonnull but is marked as nullable [Java]
Determined By
Java/Parameter must be nonnull but is marked as nullable/NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE [FindBugs]
Evaluated By
C#/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method parameter => Analyzability
Reference Validity @Method parameter => Modifiability
Reference Validity @Method parameter => Reliability
Reference Validity @Method parameter => Reusability
Scope Definition Consistency @Field [Object-orientation]
Measured By
Masks a superclass field [Java]
Determined By
Java/Masks a superclass field/MF_CLASS_MASKS_FIELD [FindBugs]
Evaluated By
Java/Scope Definition Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Scope Definition Consistency @Field => Analyzability
Scope Definition Consistency @Field => Functional Correctness
Scope Definition Consistency @Field => Modifiability
Scope Usage Consistency @Method invocation [Root]
Measured By
Ambiguous invocation of an inherited or outer method [Java]
Determined By
Java/Ambiguous invocation of an inherited or outer method/IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD [FindBugs]
Static Thread.interrupted() method invoked on thread instance [Java]
Determined By
Java/Static Thread.interrupted() method invoked on thread instance/STI_INTERRUPTED_ON_UNKNOWNTHREAD [FindBugs]
Evaluated By
Java/Scope Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Scope Usage Consistency @Method invocation => Analyzability
Scope Usage Consistency @Method invocation => Functional Correctness
Scope Usage Consistency @Method invocation => Modifiability
Scope Usage Consistency @Method invocation => Reliability
Serialization Interface Integrity @Serialization Attribute [Object-orientation]
Measured By
Doesn't define serialVersionUID [Java]
Determined By
Java/Doesn't define serialVersionUID/SE_NO_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't final [Java]
Determined By
Java/SerialVersionUID isn't final/SE_NONFINAL_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't long [Java]
Determined By
Java/SerialVersionUID isn't long/SE_NONLONG_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't static [Java]
Determined By
Java/SerialVersionUID isn't static/SE_NONSTATIC_SERIALVERSIONID [FindBugs]
Evaluated By
Java/Serialization Interface Integrity @Serialization Attribute/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Serialization Attribute => Functional Correctness
Serialization Interface Integrity @Serialization Attribute => Modifiability
Serialization Interface Integrity @Serialization Attribute => Portability
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Synchronization Integrity @Catch Statement [Root]
Measured By
Dubious catching of IllegalMonitorStateException [Java]
Determined By
Java/Dubious catching of IllegalMonitorStateException/IMSE_DONT_CATCH_IMSE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Catch Statement => Analyzability
Synchronization Integrity @Catch Statement => Modifiability
Synchronization Integrity @Catch Statement => Reliability
Synchronization Interface Consistency @Field [Object-orientation]
Measured By
Field not guarded against concurrent access [Java]
Determined By
Java/Field not guarded against concurrent access/IS_FIELD_NOT_GUARDED [FindBugs]
Evaluated By
Java/Synchronization Interface Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Interface Consistency @Field => Analyzability
Synchronization Interface Consistency @Field => Modifiability
Synchronization Interface Consistency @Field => Reliability
Synchronization Overhead @Synchronization statement [Root]
Measured By
Lock not only used on locals [C#]
Determined By
C#/Lock not only used on locals/ReviewLockUsedOnlyForOperationsOnVariablesRule [Gendarme]
Method calls Thread.sleep() with a lock held [Java]
Determined By
Java/Method calls Thread.sleep() with a lock held/SWL_SLEEP_WITH_LOCK_HELD [FindBugs]
Used MethodImplOptions.Synchronized [C#]
Determined By
C#/Used MethodImplOptions.Synchronized/DoNotUseMethodImplOptionsSynchronizedRule [Gendarme]
Evaluated By
C#/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Synchronization statement => Modifiability
Synchronization Overhead @Synchronization statement => Reliability
Synchronization Overhead @Synchronization statement => Time Behavior
Type Generality @Method parameter [Object-orientation]
Measured By
Overspecialized [C#]
Determined By
C#/Overspecialized/AvoidUnnecessarySpecializationRule [Gendarme]
Evaluated By
C#/Type Generality @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Method parameter => Analyzability
Type Generality @Method parameter => Modifiability
Type Generality @Method parameter => Reusability
Type Generality @Type cast [Root]
Measured By
Questionable cast to abstract collection [Java]
Determined By
Java/Questionable cast to abstract collection/BC_BAD_CAST_TO_ABSTRACT_COLLECTION [FindBugs]
Questionable cast to concrete collection [Java]
Determined By
Java/Questionable cast to concrete collection/BC_BAD_CAST_TO_CONCRETE_COLLECTION [FindBugs]
Evaluated By
Java/Type Generality @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Type cast => Analyzability
Type Generality @Type cast => Modifiability
Type Generality @Type cast => Reusability
Type Generality @XML Library Statement [Root]
Measured By
Method directly allocates a specific implementation of xml interfaces [Java]
Determined By
Java/Method directly allocates a specific implementation of xml interfaces/XFB_XML_FACTORY_BYPASS [FindBugs]
Evaluated By
Java/Type Generality @XML Library Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @XML Library Statement => Analyzability
Type Generality @XML Library Statement => Modifiability
Type Generality @XML Library Statement => Portability
Unintentional Side-Effect @Constructor [Object-orientation]
Measured By
Calls virtual method [C#]
Determined By
C#/Calls virtual method/ConstructorShouldNotCallVirtualMethodsRule [Gendarme]
Evaluated By
C#/Unintentional Side-Effect @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Constructor => Analyzability
Unintentional Side-Effect @Constructor => Functional Correctness
Unintentional Side-Effect @Constructor => Modifiability
Unintentional Side-Effect @Constructor => Reliability
Uselessness @Enumeration Value [Root]
Measured By
With reserved [C#]
Determined By
C#/With reserved/DoNotUseReservedInEnumValueNamesRule [Gendarme]
Evaluated By
C#/Uselessness @Enumeration Value/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Enumeration Value => Analyzability
Uselessness @Enumeration Value => Modifiability
Uselessness @Enumeration Value => Testability
Evaluated By
C#/Modifiability/WeightedSumFactorAggregation
Java/Modifiability/WeightedSumFactorAggregation
Object-orientation/Modifiability/WeightedSumFactorAggregation
Root/Modifiability/WeightedSumFactorAggregation
Modularity [Root]
Evaluated By
Root/Modularity/QIESLEvaluation
Reusability [Root]
Influenced By
Behavioral Integrity @Clone method [Object-orientation]
Measured By
Clone method does not call super.clone() [Java]
Determined By
Java/Clone method does not call super.clone()/CN_IDIOM_NO_SUPER_CALL [FindBugs]
Clone method returns null [C#]
Determined By
C#/Clone method returns null/CloneMethodShouldNotReturnNullRule [Gendarme]
May return null [Java]
Determined By
Java/May return null/NP_CLONE_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Clone method => Analyzability
Behavioral Integrity @Clone method => Reliability
Behavioral Integrity @Clone method => Reusability
Behavioral Integrity @Clone method => Testability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @ToString Method [Object-orientation]
Measured By
Conversion to string returns null [C#]
Determined By
C#/Conversion to string returns null/ToStringShouldNotReturnNullRule [Gendarme]
ToString method may return null [Java]
Determined By
Java/ToString method may return null/NP_TOSTRING_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @ToString Method => Modifiability
Behavioral Integrity @ToString Method => Reliability
Behavioral Integrity @ToString Method => Reusability
Behavioral Integrity @ToString Method => Testability
Definition and Usage Consistency @Interface [Root]
Measured By
Redundant interface implementation [Java]
Determined By
Java/Redundant interface implementation/RI_REDUNDANT_INTERFACES [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Interface/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Interface => Modifiability
Definition and Usage Consistency @Interface => Reusability
Interface and Implementation Consistency @Comparison method [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Comparison method => Analyzability
Interface and Implementation Consistency @Comparison method => Functional Correctness
Interface and Implementation Consistency @Comparison method => Reusability
Interface and Implementation Consistency @Destructor [Object-orientation]
Impacts
Interface and Implementation Consistency @Destructor => Analyzability
Interface and Implementation Consistency @Destructor => Resource Utilization
Interface and Implementation Consistency @Destructor => Reusability
Interface and Implementation Consistency @Test Class [Object-orientation]
Measured By
Bad suite method [Java]
Determined By
Java/Bad suite method/IJU_BAD_SUITE_METHOD [FindBugs]
Non-static suite method [Java]
Determined By
Java/Non-static suite method/IJU_SUITE_NOT_STATIC [FindBugs]
SetUp doesn't call super.setUp() [Java]
Determined By
Java/SetUp doesn't call super.setUp()/IJU_SETUP_NO_SUPER [FindBugs]
TearDown doesn't call super.tearDown() [Java]
Determined By
Java/TearDown doesn't call super.tearDown()/IJU_TEARDOWN_NO_SUPER [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Test Class => Analyzability
Interface and Implementation Consistency @Test Class => Functional Correctness
Interface and Implementation Consistency @Test Class => Reusability
Interface and Implementation Consistency @Test Class => Testability
Literal Validity @Annotation [Root]
Measured By
Assembly versions mismatch [C#]
Determined By
C#/Assembly versions mismatch/AvoidAssemblyVersionMismatchRule [Gendarme]
String literal does not parse correctly [C#]
Determined By
C#/String literal does not parse correctly/AttributeStringLiteralsShouldParseCorrectlyRule [Gendarme]
Evaluated By
C#/Literal Validity @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Annotation => Analyzability
Literal Validity @Annotation => Reliability
Literal Validity @Annotation => Reusability
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Reference Validity @Method parameter [Object-orientation]
Measured By
Missing check for null argument @Method parameter [Java]
Determined By
Java/Missing check for null argument @Method parameter/NP_ARGUMENT_MIGHT_BE_NULL [FindBugs]
Missing null comparison [C#]
Determined By
C#/Missing null comparison/CheckParametersNullityInVisibleMethodsRule [Gendarme]
Parameter must be nonnull but is marked as nullable [Java]
Determined By
Java/Parameter must be nonnull but is marked as nullable/NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE [FindBugs]
Evaluated By
C#/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method parameter => Analyzability
Reference Validity @Method parameter => Modifiability
Reference Validity @Method parameter => Reliability
Reference Validity @Method parameter => Reusability
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Type Generality @Method parameter [Object-orientation]
Measured By
Overspecialized [C#]
Determined By
C#/Overspecialized/AvoidUnnecessarySpecializationRule [Gendarme]
Evaluated By
C#/Type Generality @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Method parameter => Analyzability
Type Generality @Method parameter => Modifiability
Type Generality @Method parameter => Reusability
Type Generality @Type cast [Root]
Measured By
Questionable cast to abstract collection [Java]
Determined By
Java/Questionable cast to abstract collection/BC_BAD_CAST_TO_ABSTRACT_COLLECTION [FindBugs]
Questionable cast to concrete collection [Java]
Determined By
Java/Questionable cast to concrete collection/BC_BAD_CAST_TO_CONCRETE_COLLECTION [FindBugs]
Evaluated By
Java/Type Generality @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @Type cast => Analyzability
Type Generality @Type cast => Modifiability
Type Generality @Type cast => Reusability
Evaluated By
C#/Reusability/WeightedSumFactorAggregation
Java/Reusability/WeightedSumFactorAggregation
Object-orientation/Reusability/WeightedSumFactorAggregation
Root/Reusability/WeightedSumFactorAggregation
Testability [Root]
Influenced By
Behavioral Integrity @Clone method [Object-orientation]
Measured By
Clone method does not call super.clone() [Java]
Determined By
Java/Clone method does not call super.clone()/CN_IDIOM_NO_SUPER_CALL [FindBugs]
Clone method returns null [C#]
Determined By
C#/Clone method returns null/CloneMethodShouldNotReturnNullRule [Gendarme]
May return null [Java]
Determined By
Java/May return null/NP_CLONE_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Clone method => Analyzability
Behavioral Integrity @Clone method => Reliability
Behavioral Integrity @Clone method => Reusability
Behavioral Integrity @Clone method => Testability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @ToString Method [Object-orientation]
Measured By
Conversion to string returns null [C#]
Determined By
C#/Conversion to string returns null/ToStringShouldNotReturnNullRule [Gendarme]
ToString method may return null [Java]
Determined By
Java/ToString method may return null/NP_TOSTRING_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @ToString Method => Modifiability
Behavioral Integrity @ToString Method => Reliability
Behavioral Integrity @ToString Method => Reusability
Behavioral Integrity @ToString Method => Testability
Conformity to Naming Convention @Class name [Object-orientation]
Measured By
Class is not derived from an Exception, even though it is named as such [Java]
Determined By
Java/Class is not derived from an Exception, even though it is named as such/NM_CLASS_NOT_EXCEPTION [FindBugs]
Shadows simple name of implemented interface [Java]
Determined By
Java/Shadows simple name of implemented interface/NM_SAME_SIMPLE_NAME_AS_INTERFACE [FindBugs]
Shadows simple name of superclass [Java]
Determined By
Java/Shadows simple name of superclass/NM_SAME_SIMPLE_NAME_AS_SUPERCLASS [FindBugs]
Evaluated By
Java/Conformity to Naming Convention @Class name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Class name => Analyzability
Conformity to Naming Convention @Class name => Testability
Conformity to Naming Convention @Event [C#]
Measured By
Signature mismatch [C#]
Determined By
C#/Signature mismatch/DeclareEventHandlersCorrectlyRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Event/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Event => Analyzability
Conformity to Naming Convention @Event => Testability
Conformity to Naming Convention @Method name [Object-orientation]
Measured By
Apparent method/constructor confusion [Java]
Determined By
Java/Apparent method/constructor confusion/NM_METHOD_CONSTRUCTOR_CONFUSION [FindBugs]
Redundant parts @Method name [C#]
Determined By
C#/Redundant parts @Method name/AvoidRedundancyInMethodNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Method name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method name => Analyzability
Conformity to Naming Convention @Method name => Modifiability
Conformity to Naming Convention @Method name => Testability
Conformity to Naming Convention @Method parameter [Object-orientation]
Measured By
Unmatched with overridden method [C#]
Determined By
C#/Unmatched with overridden method/ParameterNamesShouldMatchOverriddenMethodRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Method parameter => Analyzability
Conformity to Naming Convention @Method parameter => Testability
Conformity to Naming Convention @Source code identifier [Root]
Measured By
Confusing method names [Java]
Determined By
Java/Confusing method names/NM_CONFUSING [FindBugs]
Confusing method names, but perhaps intentional [Java]
Determined By
Java/Confusing method names, but perhaps intentional/NM_VERY_CONFUSING_INTENTIONAL [FindBugs]
Incorrect pre- or suffix [C#]
Refined By
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Determined By
Findings Union Measure Aggregation Findings Union
Incorrect prefix [C#]
Determined By
C#/Incorrect prefix/UseCorrectPrefixRule [Gendarme]
Incorrect suffix [C#]
Determined By
C#/Incorrect suffix/UseCorrectSuffixRule [Gendarme]
Non-alphanumeric characters [C#]
Determined By
C#/Non-alphanumeric characters/AvoidNonAlphanumericIdentifierRule [Gendarme]
Plural [C#]
Determined By
C#/Plural/UseSingularNameInEnumsUnlessAreFlagsRule [Gendarme]
Proportion of identifiers that are synonyms [Root]
Determined By
Root/Proportion of identifiers that are synonyms/Manual Instrument
Proportion of meaningless and misleading identifiers @Source code identifier [Root]
Determined By
Root/Proportion of meaningless and misleading identifiers @Source code identifier/Manual Instrument
Proportion of misspelled and cryptic identifiers [Root]
Determined By
Root/Proportion of misspelled and cryptic identifiers/Manual Instrument
Singular [C#]
Determined By
C#/Singular/UsePluralNameInEnumFlagsRule [Gendarme]
Use of identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER [FindBugs]
Use of member identifier that is a keyword in later versions of Java [Java]
Determined By
Java/Use of member identifier that is a keyword in later versions of Java/NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER [FindBugs]
Very confusing method names [Java]
Determined By
Java/Very confusing method names/NM_VERY_CONFUSING [FindBugs]
With before or after [C#]
Determined By
C#/With before or after/DoNotPrefixEventsWithAfterOrBeforeRule [Gendarme]
With struct name [C#]
Determined By
C#/With struct name/DoNotPrefixValuesWithEnumNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Conformity to Naming Convention @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Source code identifier => Analyzability
Conformity to Naming Convention @Source code identifier => Testability
Conformity to Naming Convention @Type name [Root]
Measured By
Redundant parts @Type name [C#]
Determined By
C#/Redundant parts @Type name/AvoidRedundancyInTypeNameRule [Gendarme]
Evaluated By
C#/Conformity to Naming Convention @Type name/WeightedSumMultiMeasureEvaluation
Impacts
Conformity to Naming Convention @Type name => Analyzability
Conformity to Naming Convention @Type name => Testability
Definition and Usage Consistency @Catch Statement [Root]
Measured By
Possibly dropped exception [Java]
Determined By
Java/Possibly dropped exception/DE_MIGHT_DROP [FindBugs]
Possibly ignored exception [Java]
Determined By
Java/Possibly ignored exception/DE_MIGHT_IGNORE [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Catch Statement => Functional Correctness
Definition and Usage Consistency @Catch Statement => Testability
Detail Complexity @Method interface [Object-orientation]
Measured By
Primitive array passed to function expecting a variable number of object arguments [Java]
Determined By
Java/Primitive array passed to function expecting a variable number of object arguments/VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG [FindBugs]
Ref or out [C#]
Determined By
C#/Ref or out/AvoidRefAndOutParametersRule [Gendarme]
Evaluated By
C#/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Java/Detail Complexity @Method interface/WeightedSumMultiMeasureEvaluation
Impacts
Detail Complexity @Method interface => Analyzability
Detail Complexity @Method interface => Testability
Development Environment Independence @Source code identifier [Root]
Measured By
Invalid character [Root]
Determined By
Root/Invalid character/Invalid Character [Encoding Check]
Evaluated By
C#/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Development Environment Independence @Source code identifier => Analyzability
Development Environment Independence @Source code identifier => Portability
Development Environment Independence @Source code identifier => Testability
General Expression Applicability @Type identification statement [Root]
Measured By
Uses GetInterface to check assignability [C#]
Determined By
C#/Uses GetInterface to check assignability/DoNotUseGetInterfaceToCheckAssignabilityRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type identification statement => Modifiability
General Expression Applicability @Type identification statement => Reliability
General Expression Applicability @Type identification statement => Testability
Interface and Implementation Consistency @Test Class [Object-orientation]
Measured By
Bad suite method [Java]
Determined By
Java/Bad suite method/IJU_BAD_SUITE_METHOD [FindBugs]
Non-static suite method [Java]
Determined By
Java/Non-static suite method/IJU_SUITE_NOT_STATIC [FindBugs]
SetUp doesn't call super.setUp() [Java]
Determined By
Java/SetUp doesn't call super.setUp()/IJU_SETUP_NO_SUPER [FindBugs]
TearDown doesn't call super.tearDown() [Java]
Determined By
Java/TearDown doesn't call super.tearDown()/IJU_TEARDOWN_NO_SUPER [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Test Class => Analyzability
Interface and Implementation Consistency @Test Class => Functional Correctness
Interface and Implementation Consistency @Test Class => Reusability
Interface and Implementation Consistency @Test Class => Testability
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Natural Language Consistency @Source code identifier [Root]
Measured By
Not preferred term [C#]
Determined By
C#/Not preferred term/UsePreferredTermsRule [Gendarme]
Proportion of identifiers in default language [Root]
Determined By
Root/Proportion of identifiers in default language/Manual Instrument
Evaluated By
C#/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Natural Language Consistency @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Natural Language Consistency @Source code identifier => Analyzability
Natural Language Consistency @Source code identifier => Testability
Runtime Environment Independence @Literal [Root]
Measured By
Hard coded reference to an absolute pathname [Java]
Determined By
Java/Hard coded reference to an absolute pathname/DMI_HARDCODED_ABSOLUTE_FILENAME [FindBugs]
Hardcode paths [C#]
Determined By
C#/Hardcode paths/DoNotHardcodePathsRule [Gendarme]
New line [C#]
Determined By
C#/New line/NewLineLiteralRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Literal => Portability
Runtime Environment Independence @Literal => Security
Runtime Environment Independence @Literal => Testability
Signature Consistency @Class [Object-orientation]
Measured By
Abstract class defines covariant compareTo() method [Java]
Determined By
Java/Abstract class defines covariant compareTo() method/CO_ABSTRACT_SELF [FindBugs]
Abstract class defines covariant equals() method [Java]
Determined By
Java/Abstract class defines covariant equals() method/EQ_ABSTRACT_SELF [FindBugs]
Class defines clone() but doesn't implement Cloneable [Java]
Determined By
Java/Class defines clone() but doesn't implement Cloneable/CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE [FindBugs]
Class implements Cloneable but does not define or use clone method [Java]
Determined By
Java/Class implements Cloneable but does not define or use clone method/CN_IDIOM [FindBugs]
Constructor in static type [C#]
Determined By
C#/Constructor in static type/AvoidConstructorsInStaticTypesRule [Gendarme]
Covariant compareTo() method defined [Java]
Determined By
Java/Covariant compareTo() method defined/CO_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined [Java]
Determined By
Java/Covariant equals() method defined/EQ_SELF_NO_OBJECT [FindBugs]
Covariant equals() method defined for enum [Java]
Determined By
Java/Covariant equals() method defined for enum/EQ_DONT_DEFINE_EQUALS_FOR_ENUM [FindBugs]
Covariant equals() method defined, Object.equals(Object) inherited [Java]
Determined By
Java/Covariant equals() method defined, Object.equals(Object) inherited/EQ_SELF_USE_OBJECT [FindBugs]
Doesn't override equals in superclass [Java]
Determined By
Java/Doesn't override equals in superclass/EQ_DOESNT_OVERRIDE_EQUALS [FindBugs]
Equals doesn't override Object.equals(Object) [Java]
Determined By
Java/Equals doesn't override Object.equals(Object)/EQ_OTHER_USE_OBJECT [FindBugs]
Equals doesn't override equals(Object) [Java]
Determined By
Java/Equals doesn't override equals(Object)/EQ_OTHER_NO_OBJECT [FindBugs]
Missing IClonable interface implementation [C#]
Determined By
C#/Missing IClonable interface implementation/ImplementICloneableCorrectlyRule [Gendarme]
Should be equals(Object) [Java]
Determined By
Java/Should be equals(Object)/NM_BAD_EQUAL [FindBugs]
Should be hashCode() [Java]
Determined By
Java/Should be hashCode()/NM_LCASE_HASHCODE [FindBugs]
Should be toString() [Java]
Determined By
Java/Should be toString()/NM_LCASE_TOSTRING [FindBugs]
Signature declares use of unhashable class in hashed construct [Java]
Determined By
Java/Signature declares use of unhashable class in hashed construct/HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS [FindBugs]
Used Dispose not for IDisposable [C#]
Determined By
C#/Used Dispose not for IDisposable/OnlyUseDisposeForIDisposableTypesRule [Gendarme]
Evaluated By
C#/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Signature Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Signature Consistency @Class => Analyzability
Signature Consistency @Class => Functional Correctness
Signature Consistency @Class => Modifiability
Signature Consistency @Class => Reusability
Signature Consistency @Class => Testability
Uselessness @Enumeration Value [Root]
Measured By
With reserved [C#]
Determined By
C#/With reserved/DoNotUseReservedInEnumValueNamesRule [Gendarme]
Evaluated By
C#/Uselessness @Enumeration Value/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Enumeration Value => Analyzability
Uselessness @Enumeration Value => Modifiability
Uselessness @Enumeration Value => Testability
Uselessness @Test Class [Object-orientation]
Measured By
No tests [Java]
Determined By
Java/No tests/IJU_NO_TESTS [FindBugs]
Evaluated By
Java/Uselessness @Test Class/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Test Class => Analyzability
Uselessness @Test Class => Testability
Evaluated By
C#/Testability/WeightedSumFactorAggregation
Java/Testability/WeightedSumFactorAggregation
Object-orientation/Testability/WeightedSumFactorAggregation
Root/Testability/WeightedSumFactorAggregation
Evaluated By
Root/Maintainability/WeightedSumFactorAggregation
Performance Efficiency [Root]
Refined By
Resource Utilization [Root]
Influenced By
Ambiguous Reference vs. Value Type Usage @Value type [C#]
Measured By
Large @Value type [C#]
Determined By
C#/Large @Value type/AvoidLargeStructureRule [Gendarme]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Value type/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Value type => Resource Utilization
Ambiguous Reference vs. Value Type Usage @Value type => Time Behavior
Behavioral Integrity @Destructor [Object-orientation]
Measured By
Disposable should be disposed [C#]
Determined By
C#/Disposable should be disposed/DisposableFieldsShouldBeDisposedRule [Gendarme]
Finalizer does not call superclass finalizer [Java]
Determined By
Java/Finalizer does not call superclass finalizer/FI_MISSING_SUPER_CALL [FindBugs]
Finalizer nullifies superclass finalizer [Java]
Determined By
Java/Finalizer nullifies superclass finalizer/FI_NULLIFY_SUPER [FindBugs]
Finalizer should call base class finalizer [C#]
Determined By
C#/Finalizer should call base class finalizer/FinalizersShouldCallBaseClassFinalizerRule [Gendarme]
Evaluated By
C#/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Destructor => Analyzability
Behavioral Integrity @Destructor => Resource Utilization
Definition and Usage Consistency @Resource Handle [Root]
Measured By
May fail to clean up stream or resource [Java]
Determined By
Java/May fail to clean up stream or resource/OBL_UNSATISFIED_OBLIGATION [FindBugs]
May fail to close database resource [Java]
Determined By
Java/May fail to close database resource/ODR_OPEN_DATABASE_RESOURCE [FindBugs]
May fail to close database resource on exception [Java]
Determined By
Java/May fail to close database resource on exception/ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH [FindBugs]
May fail to close stream [Java]
Determined By
Java/May fail to close stream/OS_OPEN_STREAM [FindBugs]
May fail to close stream on exception [Java]
Determined By
Java/May fail to close stream on exception/OS_OPEN_STREAM_EXCEPTION_PATH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Resource Handle/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Resource Handle => Analyzability
Definition and Usage Consistency @Resource Handle => Functional Correctness
Definition and Usage Consistency @Resource Handle => Reliability
Definition and Usage Consistency @Resource Handle => Resource Utilization
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Ignored Existence of Already Implemented Code @Delegate [C#]
Measured By
Not custom [C#]
Determined By
C#/Not custom/ConsiderCustomAccessorsForNonVisibleEventsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Delegate/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Delegate => Resource Utilization
Ignored Existence of Already Implemented Code @Delegate => Time Behavior
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Interface and Implementation Consistency @Destructor [Object-orientation]
Impacts
Interface and Implementation Consistency @Destructor => Analyzability
Interface and Implementation Consistency @Destructor => Resource Utilization
Interface and Implementation Consistency @Destructor => Reusability
Interface and Implementation Consistency @Garbage collection statement [Object-orientation]
Measured By
Missing call to SuppressFinalize [C#]
Determined By
C#/Missing call to SuppressFinalize/UseSuppressFinalizeOnIDisposableTypeWithFinalizerRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Garbage collection statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Garbage collection statement => Reliability
Interface and Implementation Consistency @Garbage collection statement => Resource Utilization
Interface and Implementation Consistency @Garbage collection statement => Time Behavior
Memory Leak @Assignment statement [Root]
Impacts
Memory Leak @Assignment statement => Reliability
Memory Leak @Assignment statement => Resource Utilization
Memory Leak @Destructor [Object-orientation]
Impacts
Memory Leak @Destructor => Analyzability
Memory Leak @Destructor => Reliability
Memory Leak @Destructor => Resource Utilization
Synchronization Integrity @Inner Class [Object-orientation]
Measured By
Deadly embrace of non-static inner class and thread local [Java]
Determined By
Java/Deadly embrace of non-static inner class and thread local/SIC_THREADLOCAL_DEADLY_EMBRACE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Inner Class => Reliability
Synchronization Integrity @Inner Class => Resource Utilization
Synchronization Overhead @Class [Object-orientation]
Measured By
Class's readObject() method is synchronized [Java]
Determined By
Java/Class's readObject() method is synchronized/RS_READOBJECT_SYNC [FindBugs]
Evaluated By
Java/Synchronization Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Class => Analyzability
Synchronization Overhead @Class => Resource Utilization
Synchronization Overhead @Class => Time Behavior
Unintentional Side-Effect @Boolean expression [Root]
Measured By
Potentially dangerous use of non-short-circuit logic [Java]
Determined By
Java/Potentially dangerous use of non-short-circuit logic/NS_DANGEROUS_NON_SHORT_CIRCUIT [FindBugs]
Questionable use of non-short-circuit logic [Java]
Determined By
Java/Questionable use of non-short-circuit logic/NS_NON_SHORT_CIRCUIT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Boolean expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Boolean expression => Reliability
Unintentional Side-Effect @Boolean expression => Resource Utilization
Unintentional Side-Effect @Boolean expression => Time Behavior
Unnecessarily Complicated @Bitwise logical expression [Root]
Measured By
32 bit int shifted by an amount not in the range 0..31 [Java]
Determined By
Java/32 bit int shifted by an amount not in the range 0..31/ICAST_BAD_SHIFT_AMOUNT [FindBugs]
Check to see if ((...) & 0) == 0 [Java]
Determined By
Java/Check to see if ((...) & 0) == 0/BIT_AND_ZZ [FindBugs]
Incompatible bit masks (AND) [Java]
Determined By
Java/Incompatible bit masks (AND)/BIT_AND [FindBugs]
Incompatible bit masks (OR) [Java]
Determined By
Java/Incompatible bit masks (OR)/BIT_IOR [FindBugs]
Unsigned right shift cast to short/byte [Java]
Determined By
Java/Unsigned right shift cast to short/byte/ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Bitwise logical expression => Analyzability
Unnecessarily Complicated @Bitwise logical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression => Resource Utilization
Unnecessarily Complicated @Bitwise logical expression => Time Behavior
Unnecessarily Complicated @Boolean expression [Root]
Impacts
Unnecessarily Complicated @Boolean expression => Analyzability
Unnecessarily Complicated @Boolean expression => Functional Correctness
Unnecessarily Complicated @Boolean expression => Resource Utilization
Unnecessarily Complicated @Boolean expression => Time Behavior
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Comparison expression [Root]
Measured By
Assigns boolean literal in boolean expression [Java]
Determined By
Java/Assigns boolean literal in boolean expression/QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT [FindBugs]
Bad comparison of nonnegative value with negative constant [Java]
Determined By
Java/Bad comparison of nonnegative value with negative constant/INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE [FindBugs]
Bad comparison of signed byte [Java]
Determined By
Java/Bad comparison of signed byte/INT_BAD_COMPARISON_WITH_SIGNED_BYTE [FindBugs]
Equals used to compare array and nonarray [Java]
Determined By
Java/Equals used to compare array and nonarray/EC_ARRAY_AND_NONARRAY [FindBugs]
Equals used to compare incompatible arrays [Java]
Determined By
Java/Equals used to compare incompatible arrays/EC_INCOMPATIBLE_ARRAY_COMPARE [FindBugs]
Equals with null [C#]
Determined By
C#/Equals with null/CallingEqualsWithNullArgRule [Gendarme]
Null argument [Java]
Determined By
Java/Null argument/EC_NULL_ARG [FindBugs]
Self comparison of field with itself [Java]
Determined By
Java/Self comparison of field with itself/SA_FIELD_SELF_COMPARISON [FindBugs]
Self comparison of value with itself [Java]
Determined By
Java/Self comparison of value with itself/SA_LOCAL_SELF_COMPARISON [FindBugs]
Using pointer equality to compare different types [Java]
Determined By
Java/Using pointer equality to compare different types/EC_UNRELATED_TYPES_USING_POINTER_EQUALITY [FindBugs]
Vacuous comparison of integer value [Java]
Determined By
Java/Vacuous comparison of integer value/INT_VACUOUS_COMPARISON [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Comparison expression => Analyzability
Unnecessarily Complicated @Comparison expression => Functional Correctness
Unnecessarily Complicated @Comparison expression => Resource Utilization
Unnecessarily Complicated @Comparison expression => Time Behavior
Unnecessarily Complicated @Mathematical Library Function Call [Root]
Measured By
Method calls static Math class method on a constant value [Java]
Determined By
Java/Method calls static Math class method on a constant value/UM_UNNECESSARY_MATH [FindBugs]
Unnecessary call of nextDouble to generate a random integer [Java]
Determined By
Java/Unnecessary call of nextDouble to generate a random integer/DM_NEXTINT_VIA_NEXTDOUBLE [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical Library Function Call => Analyzability
Unnecessarily Complicated @Mathematical Library Function Call => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call => Resource Utilization
Unnecessarily Complicated @Mathematical Library Function Call => Time Behavior
Unnecessarily Complicated @Mathematical expression [Root]
Measured By
Modulo 1 on integral type [Root]
Determined By
C#/Modulo 1 on integral type/ReviewUseOfModuloOneOnIntegersRule [Gendarme]
Java/Modulo 1 on integral type/INT_BAD_REM_BY_1 [FindBugs]
Nonsensical self computation involving a field [Java]
Determined By
Java/Nonsensical self computation involving a field/SA_FIELD_SELF_COMPUTATION [FindBugs]
Nonsensical self computation involving a variable [Java]
Determined By
Java/Nonsensical self computation involving a variable/SA_LOCAL_SELF_COMPUTATION [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical expression => Analyzability
Unnecessarily Complicated @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Mathematical expression => Resource Utilization
Unnecessarily Complicated @Mathematical expression => Time Behavior
Unnecessarily Complicated @Regular expression [Root]
Measured By
. used for regular expression [Java]
Determined By
Java/. used for regular expression/RE_POSSIBLE_UNINTENDED_PATTERN [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Regular expression => Analyzability
Unnecessarily Complicated @Regular expression => Functional Correctness
Unnecessarily Complicated @Regular expression => Resource Utilization
Unnecessarily Complicated @Regular expression => Time Behavior
Unnecessarily Complicated @String Library Function Call [Root]
Measured By
Invocation of substring(0) [Java]
Determined By
Java/Invocation of substring(0)/DMI_USELESS_SUBSTRING [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @String Library Function Call => Analyzability
Unnecessarily Complicated @String Library Function Call => Functional Correctness
Unnecessarily Complicated @String Library Function Call => Resource Utilization
Unnecessarily Complicated @String Library Function Call => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Unnecessarily Complicated @Type identification statement [Root]
Measured By
Always false [Java]
Determined By
Java/Always false/BC_IMPOSSIBLE_INSTANCEOF [FindBugs]
Always true [Java]
Determined By
Java/Always true/BC_VACUOUS_INSTANCEOF [FindBugs]
Comparing different interface types [Java]
Determined By
Java/Comparing different interface types/EC_UNRELATED_INTERFACES [FindBugs]
Comparing different types [Java]
Determined By
Java/Comparing different types/EC_UNRELATED_TYPES [FindBugs]
Comparing unrelated class and interface [Java]
Determined By
Java/Comparing unrelated class and interface/EC_UNRELATED_CLASS_AND_INTERFACE [FindBugs]
Known null value [Java]
Determined By
Java/Known null value/NP_NULL_INSTANCEOF [FindBugs]
Method allocates an object, only to get the class object [Java]
Determined By
Java/Method allocates an object, only to get the class object/DM_NEW_FOR_GETCLASS [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type identification statement => Analyzability
Unnecessarily Complicated @Type identification statement => Functional Correctness
Unnecessarily Complicated @Type identification statement => Resource Utilization
Unnecessarily Complicated @Type identification statement => Time Behavior
Unneeded Resource Overhead @Class [Object-orientation]
Measured By
Too general [C#]
Determined By
C#/Too general/AvoidSpeculativeGeneralityRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Class => Analyzability
Unneeded Resource Overhead @Class => Resource Utilization
Unneeded Resource Overhead @Class => Time Behavior
Unneeded Resource Overhead @Collection Statement [Root]
Measured By
Inefficient use of keySet iterator instead of entrySet iterator [Java]
Determined By
Java/Inefficient use of keySet iterator instead of entrySet iterator/WMI_WRONG_MAP_ITERATOR [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Collection Statement => Resource Utilization
Unneeded Resource Overhead @Collection Statement => Time Behavior
Unneeded Resource Overhead @Comparison expression [Root]
Measured By
Inefficient comparison with empty string [C#]
Determined By
C#/Inefficient comparison with empty string/CompareWithEmptyStringEfficientlyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Comparison expression => Resource Utilization
Unneeded Resource Overhead @Comparison expression => Time Behavior
Unneeded Resource Overhead @Field [Object-orientation]
Measured By
Literal candidate [C#]
Determined By
C#/Literal candidate/PreferLiteralOverInitOnlyFieldsRule [Gendarme]
Should be nullable [C#]
Determined By
C#/Should be nullable/ConsiderConvertingFieldToNullableRule [Gendarme]
Unneeded Initialization [C#]
Determined By
C#/Unneeded Initialization/AvoidUnneededFieldInitializationRule [Gendarme]
Unsealed and concrete [C#]
Determined By
C#/Unsealed and concrete/AvoidUnsealedConcreteAttributesRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Field/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Field => Analyzability
Unneeded Resource Overhead @Field => Resource Utilization
Unneeded Resource Overhead @Field => Time Behavior
Unneeded Resource Overhead @Inner Class [Object-orientation]
Measured By
Could be refactored into a named static inner class [Java]
Determined By
Java/Could be refactored into a named static inner class/SIC_INNER_SHOULD_BE_STATIC_ANON [FindBugs]
Could be refactored into a static inner class [Java]
Determined By
Java/Could be refactored into a static inner class/SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS [FindBugs]
Serializable inner class [Java]
Determined By
Java/Serializable inner class/SE_INNER_CLASS [FindBugs]
Should be a static inner class [Java]
Determined By
Java/Should be a static inner class/SIC_INNER_SHOULD_BE_STATIC [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Inner Class => Resource Utilization
Unneeded Resource Overhead @Library function call [Root]
Measured By
Method uses toArray() with zero-length array argument [Java]
Determined By
Java/Method uses toArray() with zero-length array argument/ITA_INEFFICIENT_TO_ARRAY [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Library function call => Resource Utilization
Unneeded Resource Overhead @Library function call => Time Behavior
Unneeded Resource Overhead @Method [Object-orientation]
Measured By
Could be static [C#]
Determined By
C#/Could be static/MethodCanBeMadeStaticRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Method/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Method => Analyzability
Unneeded Resource Overhead @Method => Resource Utilization
Unneeded Resource Overhead @Method => Time Behavior
Unneeded Resource Overhead @Object Allocation Statement [Root]
Measured By
EmptyTypes Candidate [C#]
Determined By
C#/EmptyTypes Candidate/UseTypeEmptyTypesRule [Gendarme]
Invocation of Boolean constructor [Java]
Determined By
Java/Invocation of Boolean constructor/DM_BOOLEAN_CTOR [FindBugs]
Invocation of new String() constructor [Java]
Determined By
Java/Invocation of new String() constructor/DM_STRING_VOID_CTOR [FindBugs]
Invocation of new String(String) constructor [Java]
Determined By
Java/Invocation of new String(String) constructor/DM_STRING_CTOR [FindBugs]
Method invokes inefficient Number constructor [Java]
Determined By
Java/Method invokes inefficient Number constructor/DM_NUMBER_CTOR [FindBugs]
Method invokes inefficient floating-point Number constructor [Java]
Determined By
Java/Method invokes inefficient floating-point Number constructor/DM_FP_NUMBER_CTOR [FindBugs]
String.Empty Candidate [C#]
Determined By
C#/String.Empty Candidate/UseStringEmptyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Object Allocation Statement => Analyzability
Unneeded Resource Overhead @Object Allocation Statement => Resource Utilization
Unneeded Resource Overhead @Object Allocation Statement => Time Behavior
Unneeded Resource Overhead @String handling statement [Root]
Measured By
Concatenation of strings using + in a loop [Java]
Determined By
Java/Concatenation of strings using + in a loop/SBSC_USE_STRINGBUFFER_CONCATENATION [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @String handling statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @String handling statement => Resource Utilization
Unneeded Resource Overhead @String handling statement => Time Behavior
Unneeded Resource Overhead @Thread Library Function Call [Root]
Measured By
Unneeded use of currentThread() call, to call interrupted() [Java]
Determined By
Java/Unneeded use of currentThread() call, to call interrupted()/STI_INTERRUPTED_ON_CURRENTTHREAD [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Thread Library Function Call => Resource Utilization
Unneeded Resource Overhead @Thread Library Function Call => Time Behavior
Unneeded Resource Overhead @Type conversion expression [Root]
Measured By
Method allocates a boxed primitive just to call toString [Java]
Determined By
Java/Method allocates a boxed primitive just to call toString/DM_BOXED_PRIMITIVE_TOSTRING [FindBugs]
Primitive value is boxed and then immediately unboxed [Java]
Determined By
Java/Primitive value is boxed and then immediately unboxed/BX_BOXING_IMMEDIATELY_UNBOXED [FindBugs]
Primitive value is boxed then unboxed to perform primitive coercion [Java]
Determined By
Java/Primitive value is boxed then unboxed to perform primitive coercion/BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION [FindBugs]
Primitive value is unboxed and coerced for ternary operator [Java]
Determined By
Java/Primitive value is unboxed and coerced for ternary operator/BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR [FindBugs]
Unneeded [C#]
Determined By
C#/Unneeded/AvoidUnneededUnboxingRule [Gendarme]
Evaluated By
Java/Unneeded Resource Overhead @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type conversion expression => Analyzability
Unneeded Resource Overhead @Type conversion expression => Resource Utilization
Unneeded Resource Overhead @Type conversion expression => Time Behavior
Uselessness @Assignment statement [Root]
Measured By
A parameter is dead upon entry to a method but overwritten [Java]
Determined By
Java/A parameter is dead upon entry to a method but overwritten/IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN [FindBugs]
Assigns null [Java]
Determined By
Java/Assigns null/DLS_DEAD_LOCAL_STORE_OF_NULL [FindBugs]
Dead store due to switch statement fall through [Java]
Determined By
Java/Dead store due to switch statement fall through/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH [FindBugs]
Dead store due to switch statement fall through to throw [Java]
Determined By
Java/Dead store due to switch statement fall through to throw/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW [FindBugs]
Dead store to local variable [Java]
Determined By
Java/Dead store to local variable/DLS_DEAD_LOCAL_STORE [FindBugs]
Double assignment [C#]
Determined By
C#/Double assignment/ReviewDoubleAssignmentRule [Gendarme]
Double assignment of field [Java]
Determined By
Java/Double assignment of field/SA_FIELD_DOUBLE_ASSIGNMENT [FindBugs]
Double assignment of local variable [Java]
Determined By
Java/Double assignment of local variable/SA_LOCAL_DOUBLE_ASSIGNMENT [FindBugs]
Finalizer nulls fields [Java]
Determined By
Java/Finalizer nulls fields/FI_FINALIZER_NULLS_FIELDS [FindBugs]
Self assignment [C#]
Determined By
C#/Self assignment/ReviewSelfAssignmentRule [Gendarme]
Self assignment of field [Java]
Determined By
Java/Self assignment of field/SA_FIELD_SELF_ASSIGNMENT [FindBugs]
Self assignment of local variable [Java]
Determined By
Java/Self assignment of local variable/SA_LOCAL_SELF_ASSIGNMENT [FindBugs]
Useless assignment in return statement [Java]
Determined By
Java/Useless assignment in return statement/DLS_DEAD_LOCAL_STORE_IN_RETURN [FindBugs]
Evaluated By
C#/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Assignment statement => Analyzability
Uselessness @Assignment statement => Functional Correctness
Uselessness @Assignment statement => Resource Utilization
Uselessness @Assignment statement => Time Behavior
Uselessness @Control flow statement [Root]
Measured By
Nullcheck of value previously dereferenced [Java]
Determined By
Java/Nullcheck of value previously dereferenced/RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE [FindBugs]
Synchronize and null check on the same field [Java]
Determined By
Java/Synchronize and null check on the same field/NP_SYNC_AND_NULL_CHECK_FIELD [FindBugs]
Useless [C#]
Determined By
C#/Useless/ReviewUselessControlFlowRule [Gendarme]
Useless control flow [Java]
Determined By
Java/Useless control flow/UCF_USELESS_CONTROL_FLOW [FindBugs]
Useless control flow to next line [Java]
Determined By
Java/Useless control flow to next line/UCF_USELESS_CONTROL_FLOW_NEXT_LINE [FindBugs]
Evaluated By
C#/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Control flow statement => Analyzability
Uselessness @Control flow statement => Functional Correctness
Uselessness @Control flow statement => Resource Utilization
Uselessness @Control flow statement => Time Behavior
Uselessness @Deallocation statement [Root]
Measured By
Explicit [Java]
Determined By
Java/Explicit/DM_GC [FindBugs]
Evaluated By
Java/Uselessness @Deallocation statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Deallocation statement => Analyzability
Uselessness @Deallocation statement => Portability
Uselessness @Deallocation statement => Resource Utilization
Uselessness @Deallocation statement => Time Behavior
Uselessness @Destructor [Object-orientation]
Measured By
Empty [C#]
Determined By
C#/Empty/RemoveUnneededFinalizerRule [Gendarme]
Empty finalize [Java]
Determined By
Java/Empty finalize/FI_EMPTY [FindBugs]
Finalizer does nothing but call superclass finalizer [Java]
Determined By
Java/Finalizer does nothing but call superclass finalizer/FI_USELESS [FindBugs]
Finalizer only nulls fields [Java]
Determined By
Java/Finalizer only nulls fields/FI_FINALIZER_ONLY_NULLS_FIELDS [FindBugs]
Evaluated By
C#/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Destructor => Analyzability
Uselessness @Destructor => Resource Utilization
Uselessness @Destructor => Time Behavior
Uselessness @Expression [Root]
Measured By
Redundant comparison of non-null value to null [Java]
Determined By
Java/Redundant comparison of non-null value to null/RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE [FindBugs]
Redundant comparison of two null values [Java]
Determined By
Java/Redundant comparison of two null values/RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES [FindBugs]
Redundant nullcheck of value known to be non-null [Java]
Determined By
Java/Redundant nullcheck of value known to be non-null/RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE [FindBugs]
Redundant nullcheck of value known to be null [Java]
Determined By
Java/Redundant nullcheck of value known to be null/RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE [FindBugs]
Evaluated By
Java/Uselessness @Expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Expression => Analyzability
Uselessness @Expression => Resource Utilization
Uselessness @Expression => Time Behavior
Uselessness @Field [Object-orientation]
Measured By
Always null [C#]
Determined By
C#/Always null/AvoidAlwaysNullFieldRule [Gendarme]
Only ever set to null [Java]
Determined By
Java/Only ever set to null/UWF_NULL_FIELD [FindBugs]
Statically unused @Field [Object-orientation]
Determined By
C#/Statically unused @Field/AvoidUnusedPrivateFieldsRule [Gendarme]
Java/Statically unused @Field/UnusedPrivateField [PMD]
Unread [Java]
Determined By
Java/Unread/URF_UNREAD_FIELD [FindBugs]
Unused @Field [Java]
Determined By
Java/Unused @Field/UUF_UNUSED_FIELD [FindBugs]
Evaluated By
C#/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Field/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Field => Analyzability
Uselessness @Field => Functional Correctness
Uselessness @Field => Resource Utilization
Uselessness @Library function call [Root]
Measured By
Creation of an empty jar file entry [Java]
Determined By
Java/Creation of an empty jar file entry/AM_CREATES_EMPTY_JAR_FILE_ENTRY [FindBugs]
Creation of an empty zip file entry [Java]
Determined By
Java/Creation of an empty zip file entry/AM_CREATES_EMPTY_ZIP_FILE_ENTRY [FindBugs]
Discard of result of readLine after checking if it is nonnull [Java]
Determined By
Java/Discard of result of readLine after checking if it is nonnull/RV_DONT_JUST_NULL_CHECK_READLINE [FindBugs]
Evaluated By
Java/Uselessness @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Library function call => Analyzability
Uselessness @Library function call => Functional Correctness
Uselessness @Library function call => Resource Utilization
Uselessness @Library function call => Time Behavior
Uselessness @Literal [Root]
Measured By
Unused @Literal [Java]
Determined By
Java/Unused @Literal/DLS_DEAD_STORE_OF_CLASS_LITERAL [FindBugs]
Evaluated By
Java/Uselessness @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Literal => Analyzability
Uselessness @Literal => Functional Correctness
Uselessness @Literal => Resource Utilization
Uselessness @Local variable [Root]
Measured By
Statically unused [Root]
Determined By
Java/Statically unused/UnusedLocalVariable [PMD]
Unused Local Variables [C#]
Determined By
C#/Unused Local Variables/RemoveUnusedLocalVariablesRule [Gendarme]
Evaluated By
Java/Uselessness @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Local variable => Analyzability
Uselessness @Local variable => Functional Correctness
Uselessness @Local variable => Resource Utilization
Uselessness @Method [Object-orientation]
Measured By
Never called [Java]
Determined By
Java/Never called/UPM_UNCALLED_PRIVATE_METHOD [FindBugs]
Statically unused @Method [Object-orientation]
Determined By
C#/Statically unused @Method/AvoidUncalledPrivateCodeRule [Gendarme]
Java/Statically unused @Method/UnusedPrivateMethod [PMD]
Uncallable method defined in anonymous class [Java]
Determined By
Java/Uncallable method defined in anonymous class/UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method => Analyzability
Uselessness @Method => Functional Correctness
Uselessness @Method => Resource Utilization
Uselessness @Method invocation [Root]
Measured By
Ignores return value of const method [Java]
Determined By
Java/Ignores return value of const method/RV_RETURN_VALUE_IGNORED [FindBugs]
Naked notify [Java]
Determined By
Java/Naked notify/NN_NAKED_NOTIFY [FindBugs]
Non-console application write to console [C#]
Determined By
C#/Non-console application write to console/DisableDebuggingCodeRule [Gendarme]
Evaluated By
C#/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method invocation => Functional Correctness
Uselessness @Method invocation => Resource Utilization
Uselessness @Method invocation => Time Behavior
Uselessness @Object Allocation Statement [Root]
Measured By
Exception created and dropped rather than thrown [Java]
Determined By
Java/Exception created and dropped rather than thrown/RV_EXCEPTION_NOT_THROWN [FindBugs]
Exception instantiated without throwing [C#]
Determined By
C#/Exception instantiated without throwing/CheckNewExceptionWithoutThrowingRule [Gendarme]
Needless instantiation of class that only supplies static methods [Java]
Determined By
Java/Needless instantiation of class that only supplies static methods/ISC_INSTANTIATE_STATIC_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Object Allocation Statement => Analyzability
Uselessness @Object Allocation Statement => Functional Correctness
Uselessness @Object Allocation Statement => Resource Utilization
Uselessness @Object Allocation Statement => Time Behavior
Uselessness @Public non interface method [Root]
Measured By
Proportion of statically unused non-private subroutines @Public non interface method [Root]
Determined By
Root/Proportion of statically unused non-private subroutines @Public non interface method/Manual Instrument
Evaluated By
Root/Uselessness @Public non interface method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Public non interface method => Analyzability
Uselessness @Public non interface method => Functional Correctness
Uselessness @Public non interface method => Resource Utilization
Uselessness @Public non interface method => Time Behavior
Uselessness @String Library Function Call [Root]
Measured By
Invocation of toString() method on a String [Java]
Determined By
Java/Invocation of toString() method on a String/DM_STRING_TOSTRING [FindBugs]
Unneeded calls [C#]
Determined By
C#/Unneeded calls/AvoidUnneededCallsOnStringRule [Gendarme]
Evaluated By
C#/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @String Library Function Call => Analyzability
Uselessness @String Library Function Call => Resource Utilization
Uselessness @String Library Function Call => Time Behavior
Uselessness @Thread [Root]
Measured By
Default empty run method [Java]
Determined By
Java/Default empty run method/DM_USELESS_THREAD [FindBugs]
New without start [C#]
Determined By
C#/New without start/CheckNewThreadWithoutStartRule [Gendarme]
Evaluated By
C#/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Thread => Analyzability
Uselessness @Thread => Functional Correctness
Uselessness @Thread => Resource Utilization
Uselessness @Thread => Time Behavior
Evaluated By
C#/Resource Utilization/WeightedSumFactorAggregation
Java/Resource Utilization/WeightedSumFactorAggregation
Object-orientation/Resource Utilization/WeightedSumFactorAggregation
Root/Resource Utilization/WeightedSumFactorAggregation
Time Behavior [Root]
Influenced By
Ambiguous Reference vs. Value Type Usage @Value type [C#]
Measured By
Large @Value type [C#]
Determined By
C#/Large @Value type/AvoidLargeStructureRule [Gendarme]
Evaluated By
C#/Ambiguous Reference vs. Value Type Usage @Value type/WeightedSumMultiMeasureEvaluation
Impacts
Ambiguous Reference vs. Value Type Usage @Value type => Resource Utilization
Ambiguous Reference vs. Value Type Usage @Value type => Time Behavior
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
General Expression Applicability @Mathematical expression [Root]
Measured By
Casting to a larger type after multiplication [Root]
Determined By
C#/Casting to a larger type after multiplication/ReviewCastOnIntegerMultiplicationRule [Gendarme]
Java/Casting to a larger type after multiplication/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Casting to float after integer division [Root]
Determined By
C#/Casting to float after integer division/ReviewCastOnIntegerDivisionRule [Gendarme]
Java/Casting to float after integer division/ICAST_IDIV_CAST_TO_DOUBLE [FindBugs]
Computation of average could overflow [Java]
Determined By
Java/Computation of average could overflow/IM_AVERAGE_COMPUTATION_COULD_OVERFLOW [FindBugs]
Integer multiply of result of integer remainder [Java]
Determined By
Java/Integer multiply of result of integer remainder/IM_MULTIPLYING_RESULT_OF_IREM [FindBugs]
Oddness check that does not work for negative numbers [Root]
Determined By
C#/Oddness check that does not work for negative numbers/ReplaceIncompleteOddnessCheckRule [Gendarme]
Java/Oddness check that does not work for negative numbers/IM_BAD_CHECK_FOR_ODD [FindBugs]
Remainder of 32-bit signed random integer [Java]
Determined By
Java/Remainder of 32-bit signed random integer/RV_REM_OF_RANDOM_INT [FindBugs]
Remainder of hashCode could be negative [Java]
Determined By
Java/Remainder of hashCode could be negative/RV_REM_OF_HASHCODE [FindBugs]
Result of integer multiplication cast to long [Java]
Determined By
Java/Result of integer multiplication cast to long/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Evaluated By
C#/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Mathematical expression => Analyzability
General Expression Applicability @Mathematical expression => Functional Correctness
General Expression Applicability @Mathematical expression => Reliability
General Expression Applicability @Mathematical expression => Time Behavior
Ignored Existence of Already Implemented Code @Delegate [C#]
Measured By
Not custom [C#]
Determined By
C#/Not custom/ConsiderCustomAccessorsForNonVisibleEventsRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Delegate/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Delegate => Resource Utilization
Ignored Existence of Already Implemented Code @Delegate => Time Behavior
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Interface and Implementation Consistency @Garbage collection statement [Object-orientation]
Measured By
Missing call to SuppressFinalize [C#]
Determined By
C#/Missing call to SuppressFinalize/UseSuppressFinalizeOnIDisposableTypeWithFinalizerRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Garbage collection statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Garbage collection statement => Reliability
Interface and Implementation Consistency @Garbage collection statement => Resource Utilization
Interface and Implementation Consistency @Garbage collection statement => Time Behavior
Interface and Implementation Consistency @Value type [C#]
Measured By
Missing equals overload @Value type [C#]
Determined By
C#/Missing equals overload @Value type/OverrideValueTypeDefaultsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Value type/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Value type => Time Behavior
Synchronization Overhead @Class [Object-orientation]
Measured By
Class's readObject() method is synchronized [Java]
Determined By
Java/Class's readObject() method is synchronized/RS_READOBJECT_SYNC [FindBugs]
Evaluated By
Java/Synchronization Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Class => Analyzability
Synchronization Overhead @Class => Resource Utilization
Synchronization Overhead @Class => Time Behavior
Synchronization Overhead @Synchronization statement [Root]
Measured By
Lock not only used on locals [C#]
Determined By
C#/Lock not only used on locals/ReviewLockUsedOnlyForOperationsOnVariablesRule [Gendarme]
Method calls Thread.sleep() with a lock held [Java]
Determined By
Java/Method calls Thread.sleep() with a lock held/SWL_SLEEP_WITH_LOCK_HELD [FindBugs]
Used MethodImplOptions.Synchronized [C#]
Determined By
C#/Used MethodImplOptions.Synchronized/DoNotUseMethodImplOptionsSynchronizedRule [Gendarme]
Evaluated By
C#/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Synchronization statement => Modifiability
Synchronization Overhead @Synchronization statement => Reliability
Synchronization Overhead @Synchronization statement => Time Behavior
Unintentional Side-Effect @Boolean expression [Root]
Measured By
Potentially dangerous use of non-short-circuit logic [Java]
Determined By
Java/Potentially dangerous use of non-short-circuit logic/NS_DANGEROUS_NON_SHORT_CIRCUIT [FindBugs]
Questionable use of non-short-circuit logic [Java]
Determined By
Java/Questionable use of non-short-circuit logic/NS_NON_SHORT_CIRCUIT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Boolean expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Boolean expression => Reliability
Unintentional Side-Effect @Boolean expression => Resource Utilization
Unintentional Side-Effect @Boolean expression => Time Behavior
Unintentional Side-Effect @Collection Statement [Root]
Measured By
A collection is added to itself [Java]
Determined By
Java/A collection is added to itself/IL_CONTAINER_ADDED_TO_ITSELF [FindBugs]
Creation of Maps and sets of URLs [Java]
Determined By
Java/Creation of Maps and sets of URLs/DMI_COLLECTION_OF_URLS [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Collection Statement => Functional Correctness
Unintentional Side-Effect @Collection Statement => Reliability
Unintentional Side-Effect @Collection Statement => Time Behavior
Unintentional Side-Effect @Comparison expression [Root]
Measured By
Calling the equals and hashCode method of URL [Java]
Determined By
Java/Calling the equals and hashCode method of URL/DMI_BLOCKING_METHODS_ON_URL [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Comparison expression => Time Behavior
Unnecessarily Complicated @Bitwise logical expression [Root]
Measured By
32 bit int shifted by an amount not in the range 0..31 [Java]
Determined By
Java/32 bit int shifted by an amount not in the range 0..31/ICAST_BAD_SHIFT_AMOUNT [FindBugs]
Check to see if ((...) & 0) == 0 [Java]
Determined By
Java/Check to see if ((...) & 0) == 0/BIT_AND_ZZ [FindBugs]
Incompatible bit masks (AND) [Java]
Determined By
Java/Incompatible bit masks (AND)/BIT_AND [FindBugs]
Incompatible bit masks (OR) [Java]
Determined By
Java/Incompatible bit masks (OR)/BIT_IOR [FindBugs]
Unsigned right shift cast to short/byte [Java]
Determined By
Java/Unsigned right shift cast to short/byte/ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Bitwise logical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Bitwise logical expression => Analyzability
Unnecessarily Complicated @Bitwise logical expression => Functional Correctness
Unnecessarily Complicated @Bitwise logical expression => Resource Utilization
Unnecessarily Complicated @Bitwise logical expression => Time Behavior
Unnecessarily Complicated @Boolean expression [Root]
Impacts
Unnecessarily Complicated @Boolean expression => Analyzability
Unnecessarily Complicated @Boolean expression => Functional Correctness
Unnecessarily Complicated @Boolean expression => Resource Utilization
Unnecessarily Complicated @Boolean expression => Time Behavior
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Comparison expression [Root]
Measured By
Assigns boolean literal in boolean expression [Java]
Determined By
Java/Assigns boolean literal in boolean expression/QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT [FindBugs]
Bad comparison of nonnegative value with negative constant [Java]
Determined By
Java/Bad comparison of nonnegative value with negative constant/INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE [FindBugs]
Bad comparison of signed byte [Java]
Determined By
Java/Bad comparison of signed byte/INT_BAD_COMPARISON_WITH_SIGNED_BYTE [FindBugs]
Equals used to compare array and nonarray [Java]
Determined By
Java/Equals used to compare array and nonarray/EC_ARRAY_AND_NONARRAY [FindBugs]
Equals used to compare incompatible arrays [Java]
Determined By
Java/Equals used to compare incompatible arrays/EC_INCOMPATIBLE_ARRAY_COMPARE [FindBugs]
Equals with null [C#]
Determined By
C#/Equals with null/CallingEqualsWithNullArgRule [Gendarme]
Null argument [Java]
Determined By
Java/Null argument/EC_NULL_ARG [FindBugs]
Self comparison of field with itself [Java]
Determined By
Java/Self comparison of field with itself/SA_FIELD_SELF_COMPARISON [FindBugs]
Self comparison of value with itself [Java]
Determined By
Java/Self comparison of value with itself/SA_LOCAL_SELF_COMPARISON [FindBugs]
Using pointer equality to compare different types [Java]
Determined By
Java/Using pointer equality to compare different types/EC_UNRELATED_TYPES_USING_POINTER_EQUALITY [FindBugs]
Vacuous comparison of integer value [Java]
Determined By
Java/Vacuous comparison of integer value/INT_VACUOUS_COMPARISON [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Comparison expression => Analyzability
Unnecessarily Complicated @Comparison expression => Functional Correctness
Unnecessarily Complicated @Comparison expression => Resource Utilization
Unnecessarily Complicated @Comparison expression => Time Behavior
Unnecessarily Complicated @Mathematical Library Function Call [Root]
Measured By
Method calls static Math class method on a constant value [Java]
Determined By
Java/Method calls static Math class method on a constant value/UM_UNNECESSARY_MATH [FindBugs]
Unnecessary call of nextDouble to generate a random integer [Java]
Determined By
Java/Unnecessary call of nextDouble to generate a random integer/DM_NEXTINT_VIA_NEXTDOUBLE [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical Library Function Call => Analyzability
Unnecessarily Complicated @Mathematical Library Function Call => Functional Correctness
Unnecessarily Complicated @Mathematical Library Function Call => Resource Utilization
Unnecessarily Complicated @Mathematical Library Function Call => Time Behavior
Unnecessarily Complicated @Mathematical expression [Root]
Measured By
Modulo 1 on integral type [Root]
Determined By
C#/Modulo 1 on integral type/ReviewUseOfModuloOneOnIntegersRule [Gendarme]
Java/Modulo 1 on integral type/INT_BAD_REM_BY_1 [FindBugs]
Nonsensical self computation involving a field [Java]
Determined By
Java/Nonsensical self computation involving a field/SA_FIELD_SELF_COMPUTATION [FindBugs]
Nonsensical self computation involving a variable [Java]
Determined By
Java/Nonsensical self computation involving a variable/SA_LOCAL_SELF_COMPUTATION [FindBugs]
Evaluated By
C#/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Mathematical expression => Analyzability
Unnecessarily Complicated @Mathematical expression => Functional Correctness
Unnecessarily Complicated @Mathematical expression => Resource Utilization
Unnecessarily Complicated @Mathematical expression => Time Behavior
Unnecessarily Complicated @Regular expression [Root]
Measured By
. used for regular expression [Java]
Determined By
Java/. used for regular expression/RE_POSSIBLE_UNINTENDED_PATTERN [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Regular expression => Analyzability
Unnecessarily Complicated @Regular expression => Functional Correctness
Unnecessarily Complicated @Regular expression => Resource Utilization
Unnecessarily Complicated @Regular expression => Time Behavior
Unnecessarily Complicated @String Library Function Call [Root]
Measured By
Invocation of substring(0) [Java]
Determined By
Java/Invocation of substring(0)/DMI_USELESS_SUBSTRING [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @String Library Function Call => Analyzability
Unnecessarily Complicated @String Library Function Call => Functional Correctness
Unnecessarily Complicated @String Library Function Call => Resource Utilization
Unnecessarily Complicated @String Library Function Call => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Unnecessarily Complicated @Type identification statement [Root]
Measured By
Always false [Java]
Determined By
Java/Always false/BC_IMPOSSIBLE_INSTANCEOF [FindBugs]
Always true [Java]
Determined By
Java/Always true/BC_VACUOUS_INSTANCEOF [FindBugs]
Comparing different interface types [Java]
Determined By
Java/Comparing different interface types/EC_UNRELATED_INTERFACES [FindBugs]
Comparing different types [Java]
Determined By
Java/Comparing different types/EC_UNRELATED_TYPES [FindBugs]
Comparing unrelated class and interface [Java]
Determined By
Java/Comparing unrelated class and interface/EC_UNRELATED_CLASS_AND_INTERFACE [FindBugs]
Known null value [Java]
Determined By
Java/Known null value/NP_NULL_INSTANCEOF [FindBugs]
Method allocates an object, only to get the class object [Java]
Determined By
Java/Method allocates an object, only to get the class object/DM_NEW_FOR_GETCLASS [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Type identification statement => Analyzability
Unnecessarily Complicated @Type identification statement => Functional Correctness
Unnecessarily Complicated @Type identification statement => Resource Utilization
Unnecessarily Complicated @Type identification statement => Time Behavior
Unneeded Resource Overhead @Class [Object-orientation]
Measured By
Too general [C#]
Determined By
C#/Too general/AvoidSpeculativeGeneralityRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Class => Analyzability
Unneeded Resource Overhead @Class => Resource Utilization
Unneeded Resource Overhead @Class => Time Behavior
Unneeded Resource Overhead @Collection Statement [Root]
Measured By
Inefficient use of keySet iterator instead of entrySet iterator [Java]
Determined By
Java/Inefficient use of keySet iterator instead of entrySet iterator/WMI_WRONG_MAP_ITERATOR [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Collection Statement => Resource Utilization
Unneeded Resource Overhead @Collection Statement => Time Behavior
Unneeded Resource Overhead @Comparison expression [Root]
Measured By
Inefficient comparison with empty string [C#]
Determined By
C#/Inefficient comparison with empty string/CompareWithEmptyStringEfficientlyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Comparison expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Comparison expression => Resource Utilization
Unneeded Resource Overhead @Comparison expression => Time Behavior
Unneeded Resource Overhead @Field [Object-orientation]
Measured By
Literal candidate [C#]
Determined By
C#/Literal candidate/PreferLiteralOverInitOnlyFieldsRule [Gendarme]
Should be nullable [C#]
Determined By
C#/Should be nullable/ConsiderConvertingFieldToNullableRule [Gendarme]
Unneeded Initialization [C#]
Determined By
C#/Unneeded Initialization/AvoidUnneededFieldInitializationRule [Gendarme]
Unsealed and concrete [C#]
Determined By
C#/Unsealed and concrete/AvoidUnsealedConcreteAttributesRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Field/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Field => Analyzability
Unneeded Resource Overhead @Field => Resource Utilization
Unneeded Resource Overhead @Field => Time Behavior
Unneeded Resource Overhead @Internal class [Object-orientation]
Measured By
Uninherited and unsealed [C#]
Determined By
C#/Uninherited and unsealed/AvoidUnsealedUninheritedInternalTypeRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Internal class/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Internal class => Analyzability
Unneeded Resource Overhead @Internal class => Time Behavior
Unneeded Resource Overhead @Library function call [Root]
Measured By
Method uses toArray() with zero-length array argument [Java]
Determined By
Java/Method uses toArray() with zero-length array argument/ITA_INEFFICIENT_TO_ARRAY [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Library function call => Resource Utilization
Unneeded Resource Overhead @Library function call => Time Behavior
Unneeded Resource Overhead @Method [Object-orientation]
Measured By
Could be static [C#]
Determined By
C#/Could be static/MethodCanBeMadeStaticRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Method/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Method => Analyzability
Unneeded Resource Overhead @Method => Resource Utilization
Unneeded Resource Overhead @Method => Time Behavior
Unneeded Resource Overhead @Object Allocation Statement [Root]
Measured By
EmptyTypes Candidate [C#]
Determined By
C#/EmptyTypes Candidate/UseTypeEmptyTypesRule [Gendarme]
Invocation of Boolean constructor [Java]
Determined By
Java/Invocation of Boolean constructor/DM_BOOLEAN_CTOR [FindBugs]
Invocation of new String() constructor [Java]
Determined By
Java/Invocation of new String() constructor/DM_STRING_VOID_CTOR [FindBugs]
Invocation of new String(String) constructor [Java]
Determined By
Java/Invocation of new String(String) constructor/DM_STRING_CTOR [FindBugs]
Method invokes inefficient Number constructor [Java]
Determined By
Java/Method invokes inefficient Number constructor/DM_NUMBER_CTOR [FindBugs]
Method invokes inefficient floating-point Number constructor [Java]
Determined By
Java/Method invokes inefficient floating-point Number constructor/DM_FP_NUMBER_CTOR [FindBugs]
String.Empty Candidate [C#]
Determined By
C#/String.Empty Candidate/UseStringEmptyRule [Gendarme]
Evaluated By
C#/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Object Allocation Statement => Analyzability
Unneeded Resource Overhead @Object Allocation Statement => Resource Utilization
Unneeded Resource Overhead @Object Allocation Statement => Time Behavior
Unneeded Resource Overhead @String handling statement [Root]
Measured By
Concatenation of strings using + in a loop [Java]
Determined By
Java/Concatenation of strings using + in a loop/SBSC_USE_STRINGBUFFER_CONCATENATION [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @String handling statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @String handling statement => Resource Utilization
Unneeded Resource Overhead @String handling statement => Time Behavior
Unneeded Resource Overhead @Thread Library Function Call [Root]
Measured By
Unneeded use of currentThread() call, to call interrupted() [Java]
Determined By
Java/Unneeded use of currentThread() call, to call interrupted()/STI_INTERRUPTED_ON_CURRENTTHREAD [FindBugs]
Evaluated By
Java/Unneeded Resource Overhead @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Thread Library Function Call => Resource Utilization
Unneeded Resource Overhead @Thread Library Function Call => Time Behavior
Unneeded Resource Overhead @Type conversion expression [Root]
Measured By
Method allocates a boxed primitive just to call toString [Java]
Determined By
Java/Method allocates a boxed primitive just to call toString/DM_BOXED_PRIMITIVE_TOSTRING [FindBugs]
Primitive value is boxed and then immediately unboxed [Java]
Determined By
Java/Primitive value is boxed and then immediately unboxed/BX_BOXING_IMMEDIATELY_UNBOXED [FindBugs]
Primitive value is boxed then unboxed to perform primitive coercion [Java]
Determined By
Java/Primitive value is boxed then unboxed to perform primitive coercion/BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION [FindBugs]
Primitive value is unboxed and coerced for ternary operator [Java]
Determined By
Java/Primitive value is unboxed and coerced for ternary operator/BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR [FindBugs]
Unneeded [C#]
Determined By
C#/Unneeded/AvoidUnneededUnboxingRule [Gendarme]
Evaluated By
Java/Unneeded Resource Overhead @Type conversion expression/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type conversion expression => Analyzability
Unneeded Resource Overhead @Type conversion expression => Resource Utilization
Unneeded Resource Overhead @Type conversion expression => Time Behavior
Unneeded Resource Overhead @Type identification statement [Root]
Measured By
Enum.IsAssignableFrom [C#]
Determined By
C#/Enum.IsAssignableFrom/DoNotUseEnumIsAssignableFromRule [Gendarme]
Type.GetType for constant strings [C#]
Determined By
C#/Type.GetType for constant strings/AvoidTypeGetTypeForConstantStringsRule [Gendarme]
Unnecessary type check done using instanceof operator [Java]
Determined By
Java/Unnecessary type check done using instanceof operator/SIO_SUPERFLUOUS_INSTANCEOF [FindBugs]
Evaluated By
C#/Unneeded Resource Overhead @Type identification statement/WeightedSumMultiMeasureEvaluation
Java/Unneeded Resource Overhead @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
Unneeded Resource Overhead @Type identification statement => Time Behavior
Uselessness @Assignment statement [Root]
Measured By
A parameter is dead upon entry to a method but overwritten [Java]
Determined By
Java/A parameter is dead upon entry to a method but overwritten/IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN [FindBugs]
Assigns null [Java]
Determined By
Java/Assigns null/DLS_DEAD_LOCAL_STORE_OF_NULL [FindBugs]
Dead store due to switch statement fall through [Java]
Determined By
Java/Dead store due to switch statement fall through/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH [FindBugs]
Dead store due to switch statement fall through to throw [Java]
Determined By
Java/Dead store due to switch statement fall through to throw/SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW [FindBugs]
Dead store to local variable [Java]
Determined By
Java/Dead store to local variable/DLS_DEAD_LOCAL_STORE [FindBugs]
Double assignment [C#]
Determined By
C#/Double assignment/ReviewDoubleAssignmentRule [Gendarme]
Double assignment of field [Java]
Determined By
Java/Double assignment of field/SA_FIELD_DOUBLE_ASSIGNMENT [FindBugs]
Double assignment of local variable [Java]
Determined By
Java/Double assignment of local variable/SA_LOCAL_DOUBLE_ASSIGNMENT [FindBugs]
Finalizer nulls fields [Java]
Determined By
Java/Finalizer nulls fields/FI_FINALIZER_NULLS_FIELDS [FindBugs]
Self assignment [C#]
Determined By
C#/Self assignment/ReviewSelfAssignmentRule [Gendarme]
Self assignment of field [Java]
Determined By
Java/Self assignment of field/SA_FIELD_SELF_ASSIGNMENT [FindBugs]
Self assignment of local variable [Java]
Determined By
Java/Self assignment of local variable/SA_LOCAL_SELF_ASSIGNMENT [FindBugs]
Useless assignment in return statement [Java]
Determined By
Java/Useless assignment in return statement/DLS_DEAD_LOCAL_STORE_IN_RETURN [FindBugs]
Evaluated By
C#/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Assignment statement => Analyzability
Uselessness @Assignment statement => Functional Correctness
Uselessness @Assignment statement => Resource Utilization
Uselessness @Assignment statement => Time Behavior
Uselessness @Control flow statement [Root]
Measured By
Nullcheck of value previously dereferenced [Java]
Determined By
Java/Nullcheck of value previously dereferenced/RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE [FindBugs]
Synchronize and null check on the same field [Java]
Determined By
Java/Synchronize and null check on the same field/NP_SYNC_AND_NULL_CHECK_FIELD [FindBugs]
Useless [C#]
Determined By
C#/Useless/ReviewUselessControlFlowRule [Gendarme]
Useless control flow [Java]
Determined By
Java/Useless control flow/UCF_USELESS_CONTROL_FLOW [FindBugs]
Useless control flow to next line [Java]
Determined By
Java/Useless control flow to next line/UCF_USELESS_CONTROL_FLOW_NEXT_LINE [FindBugs]
Evaluated By
C#/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Control flow statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Control flow statement => Analyzability
Uselessness @Control flow statement => Functional Correctness
Uselessness @Control flow statement => Resource Utilization
Uselessness @Control flow statement => Time Behavior
Uselessness @Deallocation statement [Root]
Measured By
Explicit [Java]
Determined By
Java/Explicit/DM_GC [FindBugs]
Evaluated By
Java/Uselessness @Deallocation statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Deallocation statement => Analyzability
Uselessness @Deallocation statement => Portability
Uselessness @Deallocation statement => Resource Utilization
Uselessness @Deallocation statement => Time Behavior
Uselessness @Destructor [Object-orientation]
Measured By
Empty [C#]
Determined By
C#/Empty/RemoveUnneededFinalizerRule [Gendarme]
Empty finalize [Java]
Determined By
Java/Empty finalize/FI_EMPTY [FindBugs]
Finalizer does nothing but call superclass finalizer [Java]
Determined By
Java/Finalizer does nothing but call superclass finalizer/FI_USELESS [FindBugs]
Finalizer only nulls fields [Java]
Determined By
Java/Finalizer only nulls fields/FI_FINALIZER_ONLY_NULLS_FIELDS [FindBugs]
Evaluated By
C#/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Destructor => Analyzability
Uselessness @Destructor => Resource Utilization
Uselessness @Destructor => Time Behavior
Uselessness @Expression [Root]
Measured By
Redundant comparison of non-null value to null [Java]
Determined By
Java/Redundant comparison of non-null value to null/RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE [FindBugs]
Redundant comparison of two null values [Java]
Determined By
Java/Redundant comparison of two null values/RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES [FindBugs]
Redundant nullcheck of value known to be non-null [Java]
Determined By
Java/Redundant nullcheck of value known to be non-null/RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE [FindBugs]
Redundant nullcheck of value known to be null [Java]
Determined By
Java/Redundant nullcheck of value known to be null/RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE [FindBugs]
Evaluated By
Java/Uselessness @Expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Expression => Analyzability
Uselessness @Expression => Resource Utilization
Uselessness @Expression => Time Behavior
Uselessness @Library function call [Root]
Measured By
Creation of an empty jar file entry [Java]
Determined By
Java/Creation of an empty jar file entry/AM_CREATES_EMPTY_JAR_FILE_ENTRY [FindBugs]
Creation of an empty zip file entry [Java]
Determined By
Java/Creation of an empty zip file entry/AM_CREATES_EMPTY_ZIP_FILE_ENTRY [FindBugs]
Discard of result of readLine after checking if it is nonnull [Java]
Determined By
Java/Discard of result of readLine after checking if it is nonnull/RV_DONT_JUST_NULL_CHECK_READLINE [FindBugs]
Evaluated By
Java/Uselessness @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Library function call => Analyzability
Uselessness @Library function call => Functional Correctness
Uselessness @Library function call => Resource Utilization
Uselessness @Library function call => Time Behavior
Uselessness @Mathematical Library Function Call [Root]
Measured By
Int value cast to float and then passed to Math.round [Java]
Determined By
Java/Int value cast to float and then passed to Math.round/ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND [FindBugs]
Integral value cast to double and then passed to Math.ceil [Java]
Determined By
Java/Integral value cast to double and then passed to Math.ceil/ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL [FindBugs]
Evaluated By
Java/Uselessness @Mathematical Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical Library Function Call => Time Behavior
Uselessness @Mathematical expression [Root]
Measured By
Random value from 0 to 1 is coerced to the integer 0 [Java]
Determined By
Java/Random value from 0 to 1 is coerced to the integer 0/RV_01_TO_INT [FindBugs]
Rounded integer [C#]
Determined By
C#/Rounded integer/DoNotRoundIntegersRule [Gendarme]
Evaluated By
C#/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Mathematical expression => Analyzability
Uselessness @Mathematical expression => Functional Correctness
Uselessness @Mathematical expression => Time Behavior
Uselessness @Method invocation [Root]
Measured By
Ignores return value of const method [Java]
Determined By
Java/Ignores return value of const method/RV_RETURN_VALUE_IGNORED [FindBugs]
Naked notify [Java]
Determined By
Java/Naked notify/NN_NAKED_NOTIFY [FindBugs]
Non-console application write to console [C#]
Determined By
C#/Non-console application write to console/DisableDebuggingCodeRule [Gendarme]
Evaluated By
C#/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Method invocation => Functional Correctness
Uselessness @Method invocation => Resource Utilization
Uselessness @Method invocation => Time Behavior
Uselessness @Object Allocation Statement [Root]
Measured By
Exception created and dropped rather than thrown [Java]
Determined By
Java/Exception created and dropped rather than thrown/RV_EXCEPTION_NOT_THROWN [FindBugs]
Exception instantiated without throwing [C#]
Determined By
C#/Exception instantiated without throwing/CheckNewExceptionWithoutThrowingRule [Gendarme]
Needless instantiation of class that only supplies static methods [Java]
Determined By
Java/Needless instantiation of class that only supplies static methods/ISC_INSTANTIATE_STATIC_CLASS [FindBugs]
Evaluated By
C#/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Object Allocation Statement => Analyzability
Uselessness @Object Allocation Statement => Functional Correctness
Uselessness @Object Allocation Statement => Resource Utilization
Uselessness @Object Allocation Statement => Time Behavior
Uselessness @Public non interface method [Root]
Measured By
Proportion of statically unused non-private subroutines @Public non interface method [Root]
Determined By
Root/Proportion of statically unused non-private subroutines @Public non interface method/Manual Instrument
Evaluated By
Root/Uselessness @Public non interface method/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Public non interface method => Analyzability
Uselessness @Public non interface method => Functional Correctness
Uselessness @Public non interface method => Resource Utilization
Uselessness @Public non interface method => Time Behavior
Uselessness @String Library Function Call [Root]
Measured By
Invocation of toString() method on a String [Java]
Determined By
Java/Invocation of toString() method on a String/DM_STRING_TOSTRING [FindBugs]
Unneeded calls [C#]
Determined By
C#/Unneeded calls/AvoidUnneededCallsOnStringRule [Gendarme]
Evaluated By
C#/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Uselessness @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @String Library Function Call => Analyzability
Uselessness @String Library Function Call => Resource Utilization
Uselessness @String Library Function Call => Time Behavior
Uselessness @Thread [Root]
Measured By
Default empty run method [Java]
Determined By
Java/Default empty run method/DM_USELESS_THREAD [FindBugs]
New without start [C#]
Determined By
C#/New without start/CheckNewThreadWithoutStartRule [Gendarme]
Evaluated By
C#/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Java/Uselessness @Thread/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Thread => Analyzability
Uselessness @Thread => Functional Correctness
Uselessness @Thread => Resource Utilization
Uselessness @Thread => Time Behavior
Uselessness @Type cast [Root]
Measured By
Repetitive cast [C#]
Determined By
C#/Repetitive cast/AvoidRepetitiveCastsRule [Gendarme]
Evaluated By
C#/Uselessness @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Type cast => Analyzability
Uselessness @Type cast => Time Behavior
Evaluated By
C#/Time Behavior/WeightedSumFactorAggregation
Java/Time Behavior/WeightedSumFactorAggregation
Object-orientation/Time Behavior/WeightedSumFactorAggregation
Root/Time Behavior/WeightedSumFactorAggregation
Evaluated By
Root/Performance Efficiency/WeightedSumFactorAggregation
Portability [Root]
Influenced By
Development Environment Independence @Source code identifier [Root]
Measured By
Invalid character [Root]
Determined By
Root/Invalid character/Invalid Character [Encoding Check]
Evaluated By
C#/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Java/Development Environment Independence @Source code identifier/WeightedSumMultiMeasureEvaluation
Impacts
Development Environment Independence @Source code identifier => Analyzability
Development Environment Independence @Source code identifier => Portability
Development Environment Independence @Source code identifier => Testability
Runtime Environment Independence @Database statement [Root]
Measured By
Empty password [Java]
Determined By
Java/Empty password/DMI_EMPTY_DB_PASSWORD [FindBugs]
Hardcoded constant database password [Java]
Determined By
Java/Hardcoded constant database password/DMI_CONSTANT_DB_PASSWORD [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Database statement => Portability
Runtime Environment Independence @Database statement => Security
Runtime Environment Independence @Library function call [Root]
Measured By
Non-implemented Feature [C#]
Determined By
C#/Non-implemented Feature/MonoCompatibilityReviewRule [Gendarme]
Potential lost logger changes due to weak reference in OpenJDK [Java]
Determined By
Java/Potential lost logger changes due to weak reference in OpenJDK/LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE [FindBugs]
Restricted Feature [C#]
Determined By
C#/Restricted Feature/FeatureRequiresRootPrivilegeOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Library function call => Functional Correctness
Runtime Environment Independence @Library function call => Portability
Runtime Environment Independence @Literal [Root]
Measured By
Hard coded reference to an absolute pathname [Java]
Determined By
Java/Hard coded reference to an absolute pathname/DMI_HARDCODED_ABSOLUTE_FILENAME [FindBugs]
Hardcode paths [C#]
Determined By
C#/Hardcode paths/DoNotHardcodePathsRule [Gendarme]
New line [C#]
Determined By
C#/New line/NewLineLiteralRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Literal => Portability
Runtime Environment Independence @Literal => Security
Runtime Environment Independence @Literal => Testability
Runtime Environment Independence @Regular expression [Root]
Measured By
Contains File.separator [Java]
Determined By
Java/Contains File.separator/RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Regular expression => Functional Correctness
Runtime Environment Independence @Regular expression => Portability
Runtime Environment Independence @String Library Function Call [Root]
Measured By
Encoding issues [Java]
Determined By
Java/Encoding issues/DM_CONVERT_CASE [FindBugs]
Evaluated By
Java/Runtime Environment Independence @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @String Library Function Call => Functional Correctness
Runtime Environment Independence @String Library Function Call => Portability
Serialization Interface Integrity @Serialization Attribute [Object-orientation]
Measured By
Doesn't define serialVersionUID [Java]
Determined By
Java/Doesn't define serialVersionUID/SE_NO_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't final [Java]
Determined By
Java/SerialVersionUID isn't final/SE_NONFINAL_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't long [Java]
Determined By
Java/SerialVersionUID isn't long/SE_NONLONG_SERIALVERSIONID [FindBugs]
SerialVersionUID isn't static [Java]
Determined By
Java/SerialVersionUID isn't static/SE_NONSTATIC_SERIALVERSIONID [FindBugs]
Evaluated By
Java/Serialization Interface Integrity @Serialization Attribute/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Serialization Attribute => Functional Correctness
Serialization Interface Integrity @Serialization Attribute => Modifiability
Serialization Interface Integrity @Serialization Attribute => Portability
Synchronization Integrity @Library function call [Root]
Measured By
Invocation of runFinalizersOnExit [Java]
Determined By
Java/Invocation of runFinalizersOnExit/DM_RUN_FINALIZERS_ON_EXIT [FindBugs]
Evaluated By
Java/Synchronization Integrity @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Library function call => Analyzability
Synchronization Integrity @Library function call => Functional Correctness
Synchronization Integrity @Library function call => Portability
Synchronization Integrity @Library function call => Reliability
Type Generality @XML Library Statement [Root]
Measured By
Method directly allocates a specific implementation of xml interfaces [Java]
Determined By
Java/Method directly allocates a specific implementation of xml interfaces/XFB_XML_FACTORY_BYPASS [FindBugs]
Evaluated By
Java/Type Generality @XML Library Statement/WeightedSumMultiMeasureEvaluation
Impacts
Type Generality @XML Library Statement => Analyzability
Type Generality @XML Library Statement => Modifiability
Type Generality @XML Library Statement => Portability
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Uselessness @Deallocation statement [Root]
Measured By
Explicit [Java]
Determined By
Java/Explicit/DM_GC [FindBugs]
Evaluated By
Java/Uselessness @Deallocation statement/WeightedSumMultiMeasureEvaluation
Impacts
Uselessness @Deallocation statement => Analyzability
Uselessness @Deallocation statement => Portability
Uselessness @Deallocation statement => Resource Utilization
Uselessness @Deallocation statement => Time Behavior
Refined By
Adaptability [Root]
Evaluated By
Root/Adaptability/QIESLEvaluation
Installability [Root]
Evaluated By
Root/Installability/QIESLEvaluation
Replaceability [Root]
Evaluated By
Root/Replaceability/QIESLEvaluation
Evaluated By
C#/Portability/WeightedSumFactorAggregation
Java/Portability/WeightedSumFactorAggregation
Object-orientation/Portability/WeightedSumFactorAggregation
Root/Portability/WeightedSumFactorAggregation
Reliability [Root]
Influenced By
Behavioral Integrity @Clone method [Object-orientation]
Measured By
Clone method does not call super.clone() [Java]
Determined By
Java/Clone method does not call super.clone()/CN_IDIOM_NO_SUPER_CALL [FindBugs]
Clone method returns null [C#]
Determined By
C#/Clone method returns null/CloneMethodShouldNotReturnNullRule [Gendarme]
May return null [Java]
Determined By
Java/May return null/NP_CLONE_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Clone method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Clone method => Analyzability
Behavioral Integrity @Clone method => Reliability
Behavioral Integrity @Clone method => Reusability
Behavioral Integrity @Clone method => Testability
Behavioral Integrity @Comparison method [Object-orientation]
Measured By
Cast of o in equals(Object o) method [Java]
Determined By
Java/Cast of o in equals(Object o) method/BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS [FindBugs]
Equals always returns false [Java]
Determined By
Java/Equals always returns false/EQ_ALWAYS_FALSE [FindBugs]
Equals always returns true [Java]
Determined By
Java/Equals always returns true/EQ_ALWAYS_TRUE [FindBugs]
Equals checks for noncompatible operand [Java]
Determined By
Java/Equals checks for noncompatible operand/EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS [FindBugs]
Equals compares class names rather than class objects [Java]
Determined By
Java/Equals compares class names rather than class objects/EQ_COMPARING_CLASS_NAMES [FindBugs]
Equals fails for subtypes [Java]
Determined By
Java/Equals fails for subtypes/EQ_GETCLASS_AND_CLASS_CONSTANT [FindBugs]
Equals overrides equals in superclass and may not be symmetric [Java]
Determined By
Java/Equals overrides equals in superclass and may not be symmetric/EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC [FindBugs]
Equals should handle null [C#]
Determined By
C#/Equals should handle null/EqualsShouldHandleNullArgRule [Gendarme]
Missing check for null argument @Comparison method [Java]
Determined By
Java/Missing check for null argument @Comparison method/NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT [FindBugs]
Unusual equals method [Java]
Determined By
Java/Unusual equals method/EQ_UNUSUAL [FindBugs]
Evaluated By
C#/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @Comparison method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Comparison method => Functional Correctness
Behavioral Integrity @Comparison method => Modifiability
Behavioral Integrity @Comparison method => Reliability
Behavioral Integrity @Comparison method => Reusability
Behavioral Integrity @Comparison method => Testability
Behavioral Integrity @Iterator [Root]
Measured By
Iterator next() can't throw NoSuchElementException [Java]
Determined By
Java/Iterator next() can't throw NoSuchElementException/IT_NO_SUCH_ELEMENT [FindBugs]
Evaluated By
Java/Behavioral Integrity @Iterator/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @Iterator => Analyzability
Behavioral Integrity @Iterator => Modifiability
Behavioral Integrity @Iterator => Reliability
Behavioral Integrity @Iterator => Reusability
Behavioral Integrity @Iterator => Testability
Behavioral Integrity @ToString Method [Object-orientation]
Measured By
Conversion to string returns null [C#]
Determined By
C#/Conversion to string returns null/ToStringShouldNotReturnNullRule [Gendarme]
ToString method may return null [Java]
Determined By
Java/ToString method may return null/NP_TOSTRING_COULD_RETURN_NULL [FindBugs]
Evaluated By
C#/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Java/Behavioral Integrity @ToString Method/WeightedSumMultiMeasureEvaluation
Impacts
Behavioral Integrity @ToString Method => Modifiability
Behavioral Integrity @ToString Method => Reliability
Behavioral Integrity @ToString Method => Reusability
Behavioral Integrity @ToString Method => Testability
Definition and Usage Consistency @Assembly [C#]
Measured By
System.Windows.Forms executable target [C#]
Determined By
C#/System.Windows.Forms executable target/SystemWindowsFormsExecutableTargetRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Assembly/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Assembly => Reliability
Definition and Usage Consistency @Constructor [Object-orientation]
Measured By
Invokes Thread.start() [Java]
Determined By
Java/Invokes Thread.start()/SC_START_IN_CTOR [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Constructor => Analyzability
Definition and Usage Consistency @Constructor => Functional Correctness
Definition and Usage Consistency @Constructor => Reliability
Definition and Usage Consistency @Database statement [Root]
Measured By
Method attempts to access a prepared statement parameter with index 0 [Java]
Determined By
Java/Method attempts to access a prepared statement parameter with index 0/SQL_BAD_PREPARED_STATEMENT_ACCESS [FindBugs]
Method attempts to access a result set field with index 0 [Java]
Determined By
Java/Method attempts to access a result set field with index 0/SQL_BAD_RESULTSET_ACCESS [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Database statement => Analyzability
Definition and Usage Consistency @Database statement => Functional Correctness
Definition and Usage Consistency @Database statement => Reliability
Definition and Usage Consistency @Date or Time Statement [Root]
Measured By
Bad constant value for month [Java]
Determined By
Java/Bad constant value for month/DMI_BAD_MONTH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Date or Time Statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Date or Time Statement => Analyzability
Definition and Usage Consistency @Date or Time Statement => Functional Correctness
Definition and Usage Consistency @Date or Time Statement => Reliability
Definition and Usage Consistency @Expression [Root]
Impacts
Definition and Usage Consistency @Expression => Reliability
Definition and Usage Consistency @Local variable [Root]
Measured By
No disposal [C#]
Determined By
C#/No disposal/EnsureLocalDisposalRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Local variable/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Local variable => Functional Correctness
Definition and Usage Consistency @Local variable => Reliability
Definition and Usage Consistency @Method invocation [Root]
Measured By
Ignored results [C#]
Determined By
C#/Ignored results/DoNotIgnoreMethodResultRule [Gendarme]
Ignores return value of non-const method [Java]
Determined By
Java/Ignores return value of non-const method/RV_RETURN_VALUE_IGNORED_BAD_PRACTICE [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Method invocation => Functional Correctness
Definition and Usage Consistency @Method invocation => Reliability
Definition and Usage Consistency @Resource Handle [Root]
Measured By
May fail to clean up stream or resource [Java]
Determined By
Java/May fail to clean up stream or resource/OBL_UNSATISFIED_OBLIGATION [FindBugs]
May fail to close database resource [Java]
Determined By
Java/May fail to close database resource/ODR_OPEN_DATABASE_RESOURCE [FindBugs]
May fail to close database resource on exception [Java]
Determined By
Java/May fail to close database resource on exception/ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH [FindBugs]
May fail to close stream [Java]
Determined By
Java/May fail to close stream/OS_OPEN_STREAM [FindBugs]
May fail to close stream on exception [Java]
Determined By
Java/May fail to close stream on exception/OS_OPEN_STREAM_EXCEPTION_PATH [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Resource Handle/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Resource Handle => Analyzability
Definition and Usage Consistency @Resource Handle => Functional Correctness
Definition and Usage Consistency @Resource Handle => Reliability
Definition and Usage Consistency @Resource Handle => Resource Utilization
Definition and Usage Consistency @String Library Function Call [Root]
Measured By
Array formatted in useless way using format string [Java]
Determined By
Java/Array formatted in useless way using format string/VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY [FindBugs]
Format string placeholder incompatible with passed argument [Java]
Determined By
Java/Format string placeholder incompatible with passed argument/VA_FORMAT_STRING_BAD_ARGUMENT [FindBugs]
Format string references missing argument [Java]
Determined By
Java/Format string references missing argument/VA_FORMAT_STRING_MISSING_ARGUMENT [FindBugs]
Illegal format string [Java]
Determined By
Java/Illegal format string/VA_FORMAT_STRING_ILLEGAL [FindBugs]
Incompatible type of argument at format string [Java]
Determined By
Java/Incompatible type of argument at format string/VA_FORMAT_STRING_BAD_CONVERSION [FindBugs]
MessageFormat supplied where printf style format expected [Java]
Determined By
Java/MessageFormat supplied where printf style format expected/VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED [FindBugs]
No previous argument for format string [Java]
Determined By
Java/No previous argument for format string/VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT [FindBugs]
Non-Boolean argument formatted using boolean format specifier [Java]
Determined By
Java/Non-Boolean argument formatted using boolean format specifier/VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN [FindBugs]
Parameter mismatch at formatting [C#]
Determined By
C#/Parameter mismatch at formatting/ProvideCorrectArgumentsToFormattingMethodsRule [Gendarme]
Too many arguments in the format string [Java]
Determined By
Java/Too many arguments in the format string/VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED [FindBugs]
Evaluated By
C#/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Java/Definition and Usage Consistency @String Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @String Library Function Call => Analyzability
Definition and Usage Consistency @String Library Function Call => Functional Correctness
Definition and Usage Consistency @String Library Function Call => Reliability
Definition and Usage Consistency @Synchronization statement [Root]
Measured By
Condition.await() not in loop [Java]
Determined By
Java/Condition.await() not in loop/WA_AWAIT_NOT_IN_LOOP [FindBugs]
Monitor wait() called on Condition [Java]
Determined By
Java/Monitor wait() called on Condition/DM_MONITOR_WAIT_ON_CONDITION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Synchronization statement => Analyzability
Definition and Usage Consistency @Synchronization statement => Functional Correctness
Definition and Usage Consistency @Synchronization statement => Modifiability
Definition and Usage Consistency @Synchronization statement => Reliability
Definition and Usage Consistency @Synchronization statement => Resource Utilization
Definition and Usage Consistency @Synchronization statement => Time Behavior
Definition and Usage Consistency @Thread Library Function Call [Root]
Measured By
Invokes run on a thread [Java]
Determined By
Java/Invokes run on a thread/RU_INVOKE_RUN [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Thread Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Thread Library Function Call => Analyzability
Definition and Usage Consistency @Thread Library Function Call => Functional Correctness
Definition and Usage Consistency @Thread Library Function Call => Reliability
Definition and Usage Consistency @Type cast [Root]
Measured By
Always throws ClassCastException [Java]
Determined By
Java/Always throws ClassCastException/BC_IMPOSSIBLE_CAST [FindBugs]
Impossible downcast [Java]
Determined By
Java/Impossible downcast/BC_IMPOSSIBLE_DOWNCAST [FindBugs]
Impossible downcast of toArray() result [Java]
Determined By
Java/Impossible downcast of toArray() result/BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY [FindBugs]
Evaluated By
Java/Definition and Usage Consistency @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Type cast => Reliability
Definition and Usage Consistency Regarding Scope @Constructor [Object-orientation]
Measured By
Superclass uses subclass during initialization [Java]
Determined By
Java/Superclass uses subclass during initialization/IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Constructor => Analyzability
Definition and Usage Consistency Regarding Scope @Constructor => Functional Correctness
Definition and Usage Consistency Regarding Scope @Constructor => Reliability
Encapsulation Strength @Class [Object-orientation]
Measured By
Abstract type with public constructor [C#]
Determined By
C#/Abstract type with public constructor/AbstractTypesShouldNotHavePublicConstructorsRule [Gendarme]
Deep inheritance [C#]
Determined By
C#/Deep inheritance/AvoidDeepInheritanceTreeRule [Gendarme]
Incorporates reference to mutable object [Java]
Determined By
Java/Incorporates reference to mutable object/EI_EXPOSE_REP2 [FindBugs]
Lack of cohesion [C#]
Determined By
C#/Lack of cohesion/AvoidLackOfCohesionOfMethodsRule [Gendarme]
Private readResolve method not inherited by subclasses [Java]
Determined By
Java/Private readResolve method not inherited by subclasses/SE_PRIVATE_READ_RESOLVE_NOT_INHERITED [FindBugs]
Evaluated By
C#/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Class => Modifiability
Encapsulation Strength @Class => Reliability
Encapsulation Strength @Class => Security
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
Encapsulation Strength @Property [Object-orientation]
Measured By
Returns array [C#]
Determined By
C#/Returns array/AvoidReturningArraysOnPropertiesRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Property/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Property => Modifiability
Encapsulation Strength @Property => Reliability
Encapsulation Strength @Property => Security
Encapsulation Strength @Synchronization statement [C#]
Measured By
Lock on weak identity objects [C#]
Determined By
C#/Lock on weak identity objects/DoNotLockOnWeakIdentityObjectsRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Synchronization statement => Modifiability
Encapsulation Strength @Synchronization statement => Reliability
Encapsulation Strength @Synchronization statement => Security
General Expression Applicability @Mathematical expression [Root]
Measured By
Casting to a larger type after multiplication [Root]
Determined By
C#/Casting to a larger type after multiplication/ReviewCastOnIntegerMultiplicationRule [Gendarme]
Java/Casting to a larger type after multiplication/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Casting to float after integer division [Root]
Determined By
C#/Casting to float after integer division/ReviewCastOnIntegerDivisionRule [Gendarme]
Java/Casting to float after integer division/ICAST_IDIV_CAST_TO_DOUBLE [FindBugs]
Computation of average could overflow [Java]
Determined By
Java/Computation of average could overflow/IM_AVERAGE_COMPUTATION_COULD_OVERFLOW [FindBugs]
Integer multiply of result of integer remainder [Java]
Determined By
Java/Integer multiply of result of integer remainder/IM_MULTIPLYING_RESULT_OF_IREM [FindBugs]
Oddness check that does not work for negative numbers [Root]
Determined By
C#/Oddness check that does not work for negative numbers/ReplaceIncompleteOddnessCheckRule [Gendarme]
Java/Oddness check that does not work for negative numbers/IM_BAD_CHECK_FOR_ODD [FindBugs]
Remainder of 32-bit signed random integer [Java]
Determined By
Java/Remainder of 32-bit signed random integer/RV_REM_OF_RANDOM_INT [FindBugs]
Remainder of hashCode could be negative [Java]
Determined By
Java/Remainder of hashCode could be negative/RV_REM_OF_HASHCODE [FindBugs]
Result of integer multiplication cast to long [Java]
Determined By
Java/Result of integer multiplication cast to long/ICAST_INTEGER_MULTIPLY_CAST_TO_LONG [FindBugs]
Evaluated By
C#/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Java/General Expression Applicability @Mathematical expression/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Mathematical expression => Analyzability
General Expression Applicability @Mathematical expression => Functional Correctness
General Expression Applicability @Mathematical expression => Reliability
General Expression Applicability @Mathematical expression => Time Behavior
General Expression Applicability @Type cast [Root]
Measured By
Unchecked/unconfirmed cast [Java]
Determined By
Java/Unchecked/unconfirmed cast/BC_UNCONFIRMED_CAST [FindBugs]
Evaluated By
Java/General Expression Applicability @Type cast/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type cast => Analyzability
General Expression Applicability @Type cast => Reliability
General Expression Applicability @Type identification statement [Root]
Measured By
Uses GetInterface to check assignability [C#]
Determined By
C#/Uses GetInterface to check assignability/DoNotUseGetInterfaceToCheckAssignabilityRule [Gendarme]
Evaluated By
C#/General Expression Applicability @Type identification statement/WeightedSumMultiMeasureEvaluation
Impacts
General Expression Applicability @Type identification statement => Modifiability
General Expression Applicability @Type identification statement => Reliability
General Expression Applicability @Type identification statement => Testability
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Interface and Implementation Consistency @Assembly [C#]
Measured By
STAThread attribute on SWF entry points [C#]
Determined By
C#/STAThread attribute on SWF entry points/UseSTAThreadAttributeOnSWFEntryPointsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Assembly/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Assembly => Reliability
Interface and Implementation Consistency @Delegate [C#]
Measured By
Unprotected call to event [C#]
Determined By
C#/Unprotected call to event/ProtectCallToEventDelegatesRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Delegate/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Delegate => Reliability
Interface and Implementation Consistency @Field [Object-orientation]
Measured By
Store of null value into field annotated NonNull [Java]
Determined By
Java/Store of null value into field annotated NonNull/NP_STORE_INTO_NONNULL_FIELD [FindBugs]
Evaluated By
Java/Interface and Implementation Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Field => Analyzability
Interface and Implementation Consistency @Field => Reliability
Interface and Implementation Consistency @Garbage collection statement [Object-orientation]
Measured By
Missing call to SuppressFinalize [C#]
Determined By
C#/Missing call to SuppressFinalize/UseSuppressFinalizeOnIDisposableTypeWithFinalizerRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Garbage collection statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Garbage collection statement => Reliability
Interface and Implementation Consistency @Garbage collection statement => Resource Utilization
Interface and Implementation Consistency @Garbage collection statement => Time Behavior
Interface and Implementation Consistency @Method [Object-orientation]
Measured By
Not implemented [C#]
Determined By
C#/Not implemented/DoNotForgetNotImplementedMethodsRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Method/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Method => Reliability
Interface and Implementation Consistency @Return Statement [Root]
Measured By
Consider returning a zero length array rather than null [Java]
Determined By
Java/Consider returning a zero length array rather than null/PZLA_PREFER_ZERO_LENGTH_ARRAYS [FindBugs]
May return null, but is declared NonNull [Java]
Determined By
Java/May return null, but is declared NonNull/NP_NONNULL_RETURN_VIOLATION [FindBugs]
Method with Boolean return type returns explicit null [Java]
Determined By
Java/Method with Boolean return type returns explicit null/NP_BOOLEAN_RETURN_NULL [FindBugs]
Returns null for collection types [C#]
Determined By
C#/Returns null for collection types/PreferEmptyInstanceOverNullRule [Gendarme]
Evaluated By
C#/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Java/Interface and Implementation Consistency @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Interface and Implementation Consistency @Return Statement => Analyzability
Interface and Implementation Consistency @Return Statement => Modifiability
Interface and Implementation Consistency @Return Statement => Reliability
Literal Validity @Annotation [Root]
Measured By
Assembly versions mismatch [C#]
Determined By
C#/Assembly versions mismatch/AvoidAssemblyVersionMismatchRule [Gendarme]
String literal does not parse correctly [C#]
Determined By
C#/String literal does not parse correctly/AttributeStringLiteralsShouldParseCorrectlyRule [Gendarme]
Evaluated By
C#/Literal Validity @Annotation/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Annotation => Analyzability
Literal Validity @Annotation => Reliability
Literal Validity @Annotation => Reusability
Literal Validity @Regular expression [Root]
Measured By
Incorrect [C#]
Determined By
C#/Incorrect/ProvideCorrectRegexPatternRule [Gendarme]
Invalid syntax [Java]
Determined By
Java/Invalid syntax/RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION [FindBugs]
Evaluated By
C#/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Java/Literal Validity @Regular expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @Regular expression => Analyzability
Literal Validity @Regular expression => Functional Correctness
Literal Validity @Regular expression => Reliability
Literal Validity @XML Expression [Root]
Measured By
Invalid XML [C#]
Determined By
C#/Invalid XML/ProvideValidXmlStringRule [Gendarme]
Evaluated By
C#/Literal Validity @XML Expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XML Expression => Analyzability
Literal Validity @XML Expression => Functional Correctness
Literal Validity @XML Expression => Reliability
Literal Validity @XPath expression [Root]
Measured By
Invalid [C#]
Determined By
C#/Invalid/ProvideValidXPathExpressionRule [Gendarme]
Evaluated By
C#/Literal Validity @XPath expression/WeightedSumMultiMeasureEvaluation
Impacts
Literal Validity @XPath expression => Analyzability
Literal Validity @XPath expression => Functional Correctness
Literal Validity @XPath expression => Reliability
Memory Leak @Assignment statement [Root]
Impacts
Memory Leak @Assignment statement => Reliability
Memory Leak @Assignment statement => Resource Utilization
Memory Leak @Destructor [Object-orientation]
Impacts
Memory Leak @Destructor => Analyzability
Memory Leak @Destructor => Reliability
Memory Leak @Destructor => Resource Utilization
Method-Pair Consistency @Class [Object-orientation]
Measured By
CompareTo, inherits equals [Java]
Determined By
Java/CompareTo, inherits equals/EQ_COMPARETO_USE_OBJECT_EQUALS [FindBugs]
Equals, but no hashcode [Java]
Determined By
Java/Equals, but no hashcode/HE_EQUALS_NO_HASHCODE [FindBugs]
Equals, inherits hashcode [Java]
Determined By
Java/Equals, inherits hashcode/HE_EQUALS_USE_HASHCODE [FindBugs]
Hashcode, but no equals [Java]
Determined By
Java/Hashcode, but no equals/HE_HASHCODE_NO_EQUALS [FindBugs]
Hashcode, inherits equals [Java]
Determined By
Java/Hashcode, inherits equals/ HE_HASHCODE_USE_OBJECT_EQUALS [FindBugs]
Inherits equals, no hashcode [Java]
Determined By
Java/Inherits equals, no hashcode/HE_INHERITS_EQUALS_USE_HASHCODE [FindBugs]
Missing equals overload @Class [C#]
Determined By
C#/Missing equals overload @Class/ImplementEqualsTypeRule [Gendarme]
Use of class without a hashCode() method in a hashed data structure [Java]
Determined By
Java/Use of class without a hashCode() method in a hashed data structure/HE_USE_OF_UNHASHABLE_CLASS [FindBugs]
Evaluated By
C#/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Java/Method-Pair Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Method-Pair Consistency @Class => Analyzability
Method-Pair Consistency @Class => Modifiability
Method-Pair Consistency @Class => Reliability
Method-Pair Consistency @Class => Reusability
Method-Pair Consistency @Class => Testability
Reference Validity @Dereference Statement [Root]
Measured By
Close() invoked on a value that is always null [Java]
Determined By
Java/Close() invoked on a value that is always null/NP_CLOSING_NULL [FindBugs]
Dereference of the result of readLine() without nullcheck [Java]
Determined By
Java/Dereference of the result of readLine() without nullcheck/NP_DEREFERENCE_OF_READLINE_VALUE [FindBugs]
Immediate dereference of the result of readLine() [Java]
Determined By
Java/Immediate dereference of the result of readLine()/NP_IMMEDIATE_DEREFERENCE_OF_READLINE [FindBugs]
Load of known null value [Java]
Determined By
Java/Load of known null value/NP_LOAD_OF_KNOWN_NULL_VALUE [FindBugs]
Null pointer dereference [Java]
Determined By
Java/Null pointer dereference/NP_ALWAYS_NULL [FindBugs]
Null pointer dereference in method on exception path [Java]
Determined By
Java/Null pointer dereference in method on exception path/NP_ALWAYS_NULL_EXCEPTION [FindBugs]
Null pointer dereference on exception path [Java]
Determined By
Java/Null pointer dereference on exception path/NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH [FindBugs]
Null value is guaranteed to be dereferenced [Java]
Determined By
Java/Null value is guaranteed to be dereferenced/NP_GUARANTEED_DEREF [FindBugs]
Passes null for nonnull parameter [Java]
Determined By
Java/Passes null for nonnull parameter/NP_NULL_PARAM_DEREF [FindBugs]
Passes null to a required nonnull parameter [Java]
Determined By
Java/Passes null to a required nonnull parameter/NP_NONNULL_PARAM_VIOLATION [FindBugs]
Passes null to target methods that require nonnull parameter [Java]
Determined By
Java/Passes null to target methods that require nonnull parameter/NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS [FindBugs]
Possible null pointer dereference [Java]
Determined By
Java/Possible null pointer dereference/NP_NULL_ON_SOME_PATH [FindBugs]
Possible null pointer dereference due to return value of called method [Java]
Determined By
Java/Possible null pointer dereference due to return value of called method/NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE [FindBugs]
Possible null pointer dereference in method on exception path [Java]
Determined By
Java/Possible null pointer dereference in method on exception path/NP_NULL_ON_SOME_PATH_EXCEPTION [FindBugs]
Possible null pointer dereference on path that might be infeasible [Java]
Determined By
Java/Possible null pointer dereference on path that might be infeasible/NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE [FindBugs]
Evaluated By
Java/Reference Validity @Dereference Statement/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Dereference Statement => Reliability
Reference Validity @Method invocation argument [Object-orientation]
Measured By
Non-virtual method call passes null for nonnull parameter [Java]
Determined By
Java/Non-virtual method call passes null for nonnull parameter/NP_NULL_PARAM_DEREF_NONVIRTUAL [FindBugs]
Evaluated By
Java/Reference Validity @Method invocation argument/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method invocation argument => Functional Correctness
Reference Validity @Method invocation argument => Reliability
Reference Validity @Method parameter [Object-orientation]
Measured By
Missing check for null argument @Method parameter [Java]
Determined By
Java/Missing check for null argument @Method parameter/NP_ARGUMENT_MIGHT_BE_NULL [FindBugs]
Missing null comparison [C#]
Determined By
C#/Missing null comparison/CheckParametersNullityInVisibleMethodsRule [Gendarme]
Parameter must be nonnull but is marked as nullable [Java]
Determined By
Java/Parameter must be nonnull but is marked as nullable/NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE [FindBugs]
Evaluated By
C#/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Java/Reference Validity @Method parameter/WeightedSumMultiMeasureEvaluation
Impacts
Reference Validity @Method parameter => Analyzability
Reference Validity @Method parameter => Modifiability
Reference Validity @Method parameter => Reliability
Reference Validity @Method parameter => Reusability
Runtime Environment Independence @Return Statement [Root]
Measured By
Invalid exit code [C#]
Determined By
C#/Invalid exit code/ExitCodeIsLimitedOnUnixRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Return Statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Return Statement => Functional Correctness
Runtime Environment Independence @Return Statement => Reliability
Scope Usage Consistency @Method invocation [Root]
Measured By
Ambiguous invocation of an inherited or outer method [Java]
Determined By
Java/Ambiguous invocation of an inherited or outer method/IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD [FindBugs]
Static Thread.interrupted() method invoked on thread instance [Java]
Determined By
Java/Static Thread.interrupted() method invoked on thread instance/STI_INTERRUPTED_ON_UNKNOWNTHREAD [FindBugs]
Evaluated By
Java/Scope Usage Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Scope Usage Consistency @Method invocation => Analyzability
Scope Usage Consistency @Method invocation => Functional Correctness
Scope Usage Consistency @Method invocation => Modifiability
Scope Usage Consistency @Method invocation => Reliability
Serialization Integrity @HTTP statement [Root]
Measured By
Store of non serializable object into HttpSession [Java]
Determined By
Java/Store of non serializable object into HttpSession/J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION [FindBugs]
Evaluated By
Java/Serialization Integrity @HTTP statement/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @HTTP statement => Reliability
Serialization Integrity @Inner Class [Object-orientation]
Measured By
Non-serializable class has a serializable inner class [Java]
Determined By
Java/Non-serializable class has a serializable inner class/SE_BAD_FIELD_INNER_CLASS [FindBugs]
Evaluated By
Java/Serialization Integrity @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @Inner Class => Reliability
Serialization Integrity @Method invocation [Root]
Measured By
Non serializable object written to ObjectOutput [Java]
Determined By
Java/Non serializable object written to ObjectOutput/DMI_NONSERIALIZABLE_OBJECT_WRITTEN [FindBugs]
Evaluated By
Java/Serialization Integrity @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Integrity @Method invocation => Functional Correctness
Serialization Integrity @Method invocation => Reliability
Serialization Interface Integrity @Class [Object-orientation]
Measured By
Class is Externalizable but doesn't define a void constructor [Java]
Determined By
Java/Class is Externalizable but doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION [FindBugs]
Class is Serializable but its superclass doesn't define a void constructor [Java]
Determined By
Java/Class is Serializable but its superclass doesn't define a void constructor/SE_NO_SUITABLE_CONSTRUCTOR [FindBugs]
Comparator doesn't implement Serializable [Java]
Determined By
Java/Comparator doesn't implement Serializable/SE_COMPARATOR_SHOULD_BE_SERIALIZABLE [FindBugs]
Incorrect implementation of ISerializable [C#]
Determined By
C#/Incorrect implementation of ISerializable/ImplementISerializableCorrectlyRule [Gendarme]
Incorrect signature for serialization [C#]
Determined By
C#/Incorrect signature for serialization/UseCorrectSignatureForSerializationMethodsRule [Gendarme]
Method must be private in order for serialization to work [Java]
Determined By
Java/Method must be private in order for serialization to work/SE_METHOD_MUST_BE_PRIVATE [FindBugs]
Missing serializable attribute on ISerializable [C#]
Determined By
C#/Missing serializable attribute on ISerializable/MissingSerializableAttributeOnISerializableTypeRule [Gendarme]
Missing serialization constructor [C#]
Determined By
C#/Missing serialization constructor/MissingSerializationConstructorRule [Gendarme]
Non-transient non-serializable instance field in serializable class [Java]
Determined By
Java/Non-transient non-serializable instance field in serializable class/SE_BAD_FIELD [FindBugs]
The readResolve method must be declared with a return type of Object. [Java]
Determined By
Java/The readResolve method must be declared with a return type of Object./SE_READ_RESOLVE_MUST_RETURN_OBJECT [FindBugs]
The readResolve method must not be declared as a static method [Java]
Determined By
Java/The readResolve method must not be declared as a static method/SE_READ_RESOLVE_IS_STATIC [FindBugs]
Transient field of class that isn't serializable [Java]
Determined By
Java/Transient field of class that isn't serializable/SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS [FindBugs]
Transient field that isn't set by deserialization. [Java]
Determined By
Java/Transient field that isn't set by deserialization./SE_TRANSIENT_FIELD_NOT_RESTORED [FindBugs]
Undecorated methods optional field [C#]
Determined By
C#/Undecorated methods optional field/DeserializeOptionalFieldRule [Gendarme]
Unmarked non-serializable fields [C#]
Determined By
C#/Unmarked non-serializable fields/MarkAllNonSerializableFieldsRule [Gendarme]
Evaluated By
C#/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Interface Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Interface Integrity @Class => Functional Correctness
Serialization Interface Integrity @Class => Reliability
Serialization Usage Integrity @Class [Object-orientation]
Measured By
Non-serializable value stored into instance field of a serializable class [Java]
Determined By
Java/Non-serializable value stored into instance field of a serializable class/SE_BAD_FIELD_STORE [FindBugs]
Uncalled base methods on ISerializable [C#]
Determined By
C#/Uncalled base methods on ISerializable/CallBaseMethodsOnISerializableTypesRule [Gendarme]
Evaluated By
C#/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Java/Serialization Usage Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Serialization Usage Integrity @Class => Functional Correctness
Serialization Usage Integrity @Class => Reliability
Synchronization Integrity @Assignment statement [Root]
Measured By
Write to static field from instance method [Java]
Determined By
Java/Write to static field from instance method/ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD [FindBugs]
Writes static field from instance [C#]
Determined By
C#/Writes static field from instance/WriteStaticFieldFromInstanceMethodRule [Gendarme]
Evaluated By
C#/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Assignment statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Assignment statement => Analyzability
Synchronization Integrity @Assignment statement => Reliability
Synchronization Integrity @Catch Statement [Root]
Measured By
Dubious catching of IllegalMonitorStateException [Java]
Determined By
Java/Dubious catching of IllegalMonitorStateException/IMSE_DONT_CATCH_IMSE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Catch Statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Catch Statement => Analyzability
Synchronization Integrity @Catch Statement => Modifiability
Synchronization Integrity @Catch Statement => Reliability
Synchronization Integrity @Class [Object-orientation]
Measured By
Class's writeObject() method is synchronized but nothing else is [Java]
Determined By
Java/Class's writeObject() method is synchronized but nothing else is/WS_WRITEOBJECT_SYNC [FindBugs]
Inconsistent synchronization [Java]
Determined By
Java/Inconsistent synchronization/IS2_INCONSISTENT_SYNC [FindBugs]
Synchronization on getClass rather than class literal [Java]
Determined By
Java/Synchronization on getClass rather than class literal/WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL [FindBugs]
Unsynchronized get method, synchronized set method [Java]
Determined By
Java/Unsynchronized get method, synchronized set method/UG_SYNC_SET_UNSYNC_GET [FindBugs]
Evaluated By
Java/Synchronization Integrity @Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Class => Analyzability
Synchronization Integrity @Class => Reliability
Synchronization Integrity @Field [Object-orientation]
Measured By
Lazy initialization of non-volatile static field [Java]
Determined By
Java/Lazy initialization of non-volatile static field/LI_LAZY_INIT_STATIC [FindBugs]
Lazy initialization of static field [Java]
Determined By
Java/Lazy initialization of static field/LI_LAZY_INIT_UPDATE_STATIC [FindBugs]
Method spins on field [Java]
Determined By
Java/Method spins on field/SP_SPIN_ON_FIELD [FindBugs]
Mutable servlet field [Java]
Determined By
Java/Mutable servlet field/MSF_MUTABLE_SERVLET_FIELD [FindBugs]
Non constant and static [Object-orientation]
Determined By
C#/Non constant and static/NonConstantStaticFieldsShouldNotBeVisibleRule [Gendarme]
Java/Non constant and static/MS_SHOULD_BE_FINAL [FindBugs]
Static Calendar [Java]
Determined By
Java/Static Calendar/STCAL_STATIC_CALENDAR_INSTANCE [FindBugs]
Static DateFormat [Java]
Determined By
Java/Static DateFormat/STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE [FindBugs]
Evaluated By
C#/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Field => Functional Correctness
Synchronization Integrity @Field => Reliability
Synchronization Integrity @Inner Class [Object-orientation]
Measured By
Deadly embrace of non-static inner class and thread local [Java]
Determined By
Java/Deadly embrace of non-static inner class and thread local/SIC_THREADLOCAL_DEADLY_EMBRACE [FindBugs]
Evaluated By
Java/Synchronization Integrity @Inner Class/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Inner Class => Reliability
Synchronization Integrity @Inner Class => Resource Utilization
Synchronization Integrity @Library function call [Root]
Measured By
Invocation of runFinalizersOnExit [Java]
Determined By
Java/Invocation of runFinalizersOnExit/DM_RUN_FINALIZERS_ON_EXIT [FindBugs]
Evaluated By
Java/Synchronization Integrity @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Library function call => Analyzability
Synchronization Integrity @Library function call => Functional Correctness
Synchronization Integrity @Library function call => Portability
Synchronization Integrity @Library function call => Reliability
Synchronization Integrity @Method [Object-orientation]
Measured By
Empty synchronized block [Java]
Determined By
Java/Empty synchronized block/ESync_EMPTY_SYNC [FindBugs]
Locked region across subroutines [C#]
Determined By
C#/Locked region across subroutines/DoNotUseLockedRegionOutsideMethodRule [Gendarme]
Method does not release lock on all exception paths [Java]
Determined By
Java/Method does not release lock on all exception paths/UL_UNRELEASED_LOCK_EXCEPTION_PATH [FindBugs]
Method does not release lock on all paths [Java]
Determined By
Java/Method does not release lock on all paths/UL_UNRELEASED_LOCK [FindBugs]
Mismatched notify() [Java]
Determined By
Java/Mismatched notify()/MWN_MISMATCHED_NOTIFY [FindBugs]
Mismatched wait() [Java]
Determined By
Java/Mismatched wait()/MWN_MISMATCHED_WAIT [FindBugs]
Unconditional wait [Java]
Determined By
Java/Unconditional wait/UW_UNCOND_WAIT [FindBugs]
Evaluated By
C#/Synchronization Integrity @Method/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Method/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Method => Reliability
Synchronization Integrity @Synchronization statement [Root]
Measured By
Locked region outside [C#]
Determined By
C#/Locked region outside/DoNotUseLockedRegionOutsideMethodRule [Gendarme]
Method synchronizes on an updated field [Java]
Determined By
Java/Method synchronizes on an updated field/ML_SYNC_ON_UPDATED_FIELD [FindBugs]
Synchronization on Boolean [Java]
Determined By
Java/Synchronization on Boolean/DL_SYNCHRONIZATION_ON_BOOLEAN [FindBugs]
Synchronization on boxed primitive constant [Java]
Determined By
Java/Synchronization on boxed primitive constant/DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE [FindBugs]
Synchronization on boxed primitive value [Java]
Determined By
Java/Synchronization on boxed primitive value/DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE [FindBugs]
Synchronization on field in futile attempt to guard that field [Java]
Determined By
Java/Synchronization on field in futile attempt to guard that field/ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD [FindBugs]
Synchronization on interned String [Java]
Determined By
Java/Synchronization on interned String/DL_SYNCHRONIZATION_ON_SHARED_CONSTANT [FindBugs]
Synchronization performed on Lock [Java]
Determined By
Java/Synchronization performed on Lock/JLM_JSR166_LOCK_MONITORENTER [FindBugs]
Using notify() rather than notifyAll() [Java]
Determined By
Java/Using notify() rather than notifyAll()/NO_NOTIFY_NOT_NOTIFYALL [FindBugs]
Wait not in loop [Java]
Determined By
Java/Wait not in loop/WA_NOT_IN_LOOP [FindBugs]
Wait with two locks held [Java]
Determined By
Java/Wait with two locks held/TLW_TWO_LOCK_WAIT [FindBugs]
Evaluated By
C#/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Integrity @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @Synchronization statement => Analyzability
Synchronization Integrity @Synchronization statement => Reliability
Synchronization Integrity @UI Library Function Call [Root]
Measured By
Certain swing methods needs to be invoked in Swing thread [Java]
Determined By
Java/Certain swing methods needs to be invoked in Swing thread/SW_SWING_METHODS_INVOKED_IN_SWING_THREAD [FindBugs]
Evaluated By
Java/Synchronization Integrity @UI Library Function Call/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Integrity @UI Library Function Call => Analyzability
Synchronization Integrity @UI Library Function Call => Reliability
Synchronization Interface Consistency @Field [Object-orientation]
Measured By
Field not guarded against concurrent access [Java]
Determined By
Java/Field not guarded against concurrent access/IS_FIELD_NOT_GUARDED [FindBugs]
Evaluated By
Java/Synchronization Interface Consistency @Field/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Interface Consistency @Field => Analyzability
Synchronization Interface Consistency @Field => Modifiability
Synchronization Interface Consistency @Field => Reliability
Synchronization Overhead @Synchronization statement [Root]
Measured By
Lock not only used on locals [C#]
Determined By
C#/Lock not only used on locals/ReviewLockUsedOnlyForOperationsOnVariablesRule [Gendarme]
Method calls Thread.sleep() with a lock held [Java]
Determined By
Java/Method calls Thread.sleep() with a lock held/SWL_SLEEP_WITH_LOCK_HELD [FindBugs]
Used MethodImplOptions.Synchronized [C#]
Determined By
C#/Used MethodImplOptions.Synchronized/DoNotUseMethodImplOptionsSynchronizedRule [Gendarme]
Evaluated By
C#/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Synchronization Overhead @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Synchronization Overhead @Synchronization statement => Modifiability
Synchronization Overhead @Synchronization statement => Reliability
Synchronization Overhead @Synchronization statement => Time Behavior
Termination @Subroutine [Root]
Measured By
An apparent infinite loop [Java]
Determined By
Java/An apparent infinite loop/IL_INFINITE_LOOP [FindBugs]
An apparent infinite recursive loop [Java]
Determined By
Java/An apparent infinite recursive loop/IL_INFINITE_RECURSIVE_LOOP [FindBugs]
Bad recursive [C#]
Determined By
C#/Bad recursive/BadRecursiveInvocationRule [Gendarme]
Recursion in equality operator [C#]
Determined By
C#/Recursion in equality operator/DoNotRecurseInEqualityRule [Gendarme]
Evaluated By
C#/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Java/Termination @Subroutine/WeightedSumMultiMeasureEvaluation
Impacts
Termination @Subroutine => Analyzability
Termination @Subroutine => Reliability
Unintentional Side-Effect @Boolean expression [Root]
Measured By
Potentially dangerous use of non-short-circuit logic [Java]
Determined By
Java/Potentially dangerous use of non-short-circuit logic/NS_DANGEROUS_NON_SHORT_CIRCUIT [FindBugs]
Questionable use of non-short-circuit logic [Java]
Determined By
Java/Questionable use of non-short-circuit logic/NS_NON_SHORT_CIRCUIT [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Boolean expression/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Boolean expression => Reliability
Unintentional Side-Effect @Boolean expression => Resource Utilization
Unintentional Side-Effect @Boolean expression => Time Behavior
Unintentional Side-Effect @Collection Statement [Root]
Measured By
A collection is added to itself [Java]
Determined By
Java/A collection is added to itself/IL_CONTAINER_ADDED_TO_ITSELF [FindBugs]
Creation of Maps and sets of URLs [Java]
Determined By
Java/Creation of Maps and sets of URLs/DMI_COLLECTION_OF_URLS [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Collection Statement => Functional Correctness
Unintentional Side-Effect @Collection Statement => Reliability
Unintentional Side-Effect @Collection Statement => Time Behavior
Unintentional Side-Effect @Constructor [Object-orientation]
Measured By
Calls virtual method [C#]
Determined By
C#/Calls virtual method/ConstructorShouldNotCallVirtualMethodsRule [Gendarme]
Evaluated By
C#/Unintentional Side-Effect @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Constructor => Analyzability
Unintentional Side-Effect @Constructor => Functional Correctness
Unintentional Side-Effect @Constructor => Modifiability
Unintentional Side-Effect @Constructor => Reliability
Unintentional Side-Effect @Library function call [Root]
Measured By
Call to problematic method [C#]
Determined By
C#/Call to problematic method/AvoidCallingProblematicMethodsRule [Gendarme]
Invocation of System.exit(...) [Java]
Determined By
Java/Invocation of System.exit(...)/DM_EXIT [FindBugs]
Evaluated By
C#/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Java/Unintentional Side-Effect @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Library function call => Functional Correctness
Unintentional Side-Effect @Library function call => Reliability
Unintentional Side-Effect @Object Allocation Statement [Root]
Measured By
Initialization circularity [Java]
Determined By
Java/Initialization circularity/IC_INIT_CIRCULARITY [FindBugs]
Evaluated By
Java/Unintentional Side-Effect @Object Allocation Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unintentional Side-Effect @Object Allocation Statement => Analyzability
Unintentional Side-Effect @Object Allocation Statement => Reliability
Unnecessarily Complicated @Collection Statement [Root]
Measured By
Collection as generic collection's method parameter [Java]
Determined By
Java/Collection as generic collection's method parameter/DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES [FindBugs]
Using removeAll to clear a collection [Java]
Determined By
Java/Using removeAll to clear a collection/DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION [FindBugs]
Vacuous call to collections [Java]
Determined By
Java/Vacuous call to collections/DMI_VACUOUS_SELF_COLLECTION_CALL [FindBugs]
Evaluated By
Java/Unnecessarily Complicated @Collection Statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Collection Statement => Analyzability
Unnecessarily Complicated @Collection Statement => Functional Correctness
Unnecessarily Complicated @Collection Statement => Reliability
Unnecessarily Complicated @Collection Statement => Resource Utilization
Unnecessarily Complicated @Collection Statement => Time Behavior
Unnecessarily Complicated @Synchronization statement [Root]
Measured By
Contains Double-Checked Locking [Java]
Determined By
Java/Contains Double-Checked Locking/DC_DOUBLECHECK [FindBugs]
Double check locking [C#]
Determined By
C#/Double check locking/DoubleCheckLockingRule [Gendarme]
Evaluated By
C#/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Java/Unnecessarily Complicated @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Unnecessarily Complicated @Synchronization statement => Analyzability
Unnecessarily Complicated @Synchronization statement => Functional Correctness
Unnecessarily Complicated @Synchronization statement => Portability
Unnecessarily Complicated @Synchronization statement => Reliability
Unnecessarily Complicated @Synchronization statement => Resource Utilization
Unnecessarily Complicated @Synchronization statement => Time Behavior
Value Validity @Field [Object-orientation]
Measured By
Read of unwritten field [Java]
Determined By
Java/Read of unwritten field/NP_UNWRITTEN_FIELD [FindBugs]
Uninitialized read of field in constructor [Java]
Determined By
Java/Uninitialized read of field in constructor/UR_UNINIT_READ [FindBugs]
Uninitialized read of field method called from constructor of superclass [Java]
Determined By
Java/Uninitialized read of field method called from constructor of superclass/UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR [FindBugs]
Evaluated By
Java/Value Validity @Field/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Field => Analyzability
Value Validity @Field => Reliability
Value Validity @Variable [Root]
Measured By
Value annotated as carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as carrying a type qualifier used in a contradicting way/TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED [FindBugs]
Value annotated as never carrying a type qualifier used in a contradicting way [Java]
Determined By
Java/Value annotated as never carrying a type qualifier used in a contradicting way/TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED [FindBugs]
Value requires to be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Value requires to never be denoted by a type qualifier but is used in a contradicting way [Java]
Determined By
Java/Value requires to never be denoted by a type qualifier but is used in a contradicting way/TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK [FindBugs]
Value that might not carry a type qualifier is always used in a contradicting way [Java]
Determined By
Java/Value that might not carry a type qualifier is always used in a contradicting way/TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK [FindBugs]
Evaluated By
Java/Value Validity @Variable/WeightedSumMultiMeasureEvaluation
Impacts
Value Validity @Variable => Analyzability
Value Validity @Variable => Reliability
Refined By
Availability [Root]
Evaluated By
Root/Availability/QIESLEvaluation
Fault Tolerance [Root]
Evaluated By
Root/Fault Tolerance/QIESLEvaluation
Maturity [Root]
Evaluated By
Root/Maturity/QIESLEvaluation
Recoverability [Root]
Evaluated By
Root/Recoverability/QIESLEvaluation
Evaluated By
C#/Reliability/WeightedSumFactorAggregation
Java/Reliability/WeightedSumFactorAggregation
Object-orientation/Reliability/WeightedSumFactorAggregation
Root/Reliability/WeightedSumFactorAggregation
Security [Root]
Influenced By
Definition and Usage Consistency @Security Check Method [Object-orientation]
Measured By
Short circuit certificate check [C#]
Determined By
C#/Short circuit certificate check/DoNotShortCircuitCertificateCheckRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency @Security Check Method/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency @Security Check Method => Security
Definition and Usage Consistency Regarding Scope @Class [Object-orientation]
Measured By
Insecure GetObjectData override [C#]
Determined By
C#/Insecure GetObjectData override/SecureGetObjectDataOverridesRule [Gendarme]
Evaluated By
C#/Definition and Usage Consistency Regarding Scope @Class/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Class => Security
Definition and Usage Consistency Regarding Scope @Library function call [Root]
Measured By
Classloaders should only be created inside doPrivileged block [Java]
Determined By
Java/Classloaders should only be created inside doPrivileged block/DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED [FindBugs]
Evaluated By
Java/Definition and Usage Consistency Regarding Scope @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Definition and Usage Consistency Regarding Scope @Library function call => Security
Encapsulation Strength @Class [Object-orientation]
Measured By
Abstract type with public constructor [C#]
Determined By
C#/Abstract type with public constructor/AbstractTypesShouldNotHavePublicConstructorsRule [Gendarme]
Deep inheritance [C#]
Determined By
C#/Deep inheritance/AvoidDeepInheritanceTreeRule [Gendarme]
Incorporates reference to mutable object [Java]
Determined By
Java/Incorporates reference to mutable object/EI_EXPOSE_REP2 [FindBugs]
Lack of cohesion [C#]
Determined By
C#/Lack of cohesion/AvoidLackOfCohesionOfMethodsRule [Gendarme]
Private readResolve method not inherited by subclasses [Java]
Determined By
Java/Private readResolve method not inherited by subclasses/SE_PRIVATE_READ_RESOLVE_NOT_INHERITED [FindBugs]
Evaluated By
C#/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Class/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Class => Modifiability
Encapsulation Strength @Class => Reliability
Encapsulation Strength @Class => Security
Encapsulation Strength @Constructor [Object-orientation]
Measured By
Non private [C#]
Determined By
C#/Non private/StaticConstructorsShouldBePrivateRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Constructor/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Constructor => Security
Encapsulation Strength @Destructor [Object-orientation]
Measured By
Finalizer should be protected not public [Java]
Determined By
Java/Finalizer should be protected not public/FI_PUBLIC_SHOULD_BE_PROTECTED [FindBugs]
Evaluated By
Java/Encapsulation Strength @Destructor/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Destructor => Analyzability
Encapsulation Strength @Destructor => Security
Encapsulation Strength @Field [Object-orientation]
Measured By
Exposed [C#]
Determined By
C#/Exposed/NativeFieldsShouldNotBeVisibleRule [Gendarme]
Exposed secured type [C#]
Determined By
C#/Exposed secured type/DoNotExposeFieldsInSecuredTypeRule [Gendarme]
Field is a mutable Hashtable [Java]
Determined By
Java/Field is a mutable Hashtable/MS_MUTABLE_HASHTABLE [FindBugs]
Field is a mutable array [Java]
Determined By
Java/Field is a mutable array/MS_MUTABLE_ARRAY [FindBugs]
Field isn't final and can't be protected from malicious code [Java]
Determined By
Java/Field isn't final and can't be protected from malicious code/MS_CANNOT_BE_FINAL [FindBugs]
Field isn't final but should be [Java]
Determined By
Java/Field isn't final but should be/MS_SHOULD_BE_FINAL [FindBugs]
Field should be both final and package protected [Java]
Determined By
Java/Field should be both final and package protected/MS_FINAL_PKGPROTECT [FindBugs]
Field should be moved out of an interface and made package protected [Java]
Determined By
Java/Field should be moved out of an interface and made package protected/MS_OOI_PKGPROTECT [FindBugs]
Field should be package protected [Java]
Determined By
Java/Field should be package protected/MS_PKGPROTECT [FindBugs]
May expose internal static state by storing a mutable object into a static field [Java]
Determined By
Java/May expose internal static state by storing a mutable object into a static field/EI_EXPOSE_STATIC_REP2 [FindBugs]
Mutable object declared as constant [Object-orientation]
Determined By
C#/Mutable object declared as constant/ArrayFieldsShouldNotBeReadOnlyRule [Gendarme]
Java/Mutable object declared as constant/MS_MUTABLE_ARRAY [FindBugs]
Public hashtable declared as constant [Java]
Determined By
Java/Public hashtable declared as constant/MS_MUTABLE_HASHTABLE [FindBugs]
Returns reference to mutable object [Java]
Determined By
Java/Returns reference to mutable object/EI_EXPOSE_REP [FindBugs]
Unwritten [Java]
Determined By
Java/Unwritten/UWF_UNWRITTEN_FIELD [FindBugs]
Visible [C#]
Determined By
C#/Visible/AvoidVisibleFieldsRule [Gendarme]
Visible constant [C#]
Determined By
C#/Visible constant/AvoidVisibleConstantFieldRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Field/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Field => Analyzability
Encapsulation Strength @Field => Functional Correctness
Encapsulation Strength @Field => Modifiability
Encapsulation Strength @Field => Reliability
Encapsulation Strength @Field => Security
Encapsulation Strength @Method [Object-orientation]
Measured By
Exposed and protected by link demand [C#]
Determined By
C#/Exposed and protected by link demand/DoNotExposeMethodsProtectedByLinkDemandRule [Gendarme]
Large number of local variables [C#]
Determined By
C#/Large number of local variables/AvoidLargeNumberOfLocalVariablesRule [Gendarme]
Long parameter list [C#]
Determined By
C#/Long parameter list/AvoidLongParameterListsRule [Gendarme]
Public static method may expose internal representation by returning array [Java]
Determined By
Java/Public static method may expose internal representation by returning array/MS_EXPOSE_REP [FindBugs]
Evaluated By
C#/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Java/Encapsulation Strength @Method/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Method => Analyzability
Encapsulation Strength @Method => Modifiability
Encapsulation Strength @Method => Security
Encapsulation Strength @Property [Object-orientation]
Measured By
Returns array [C#]
Determined By
C#/Returns array/AvoidReturningArraysOnPropertiesRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Property/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Property => Modifiability
Encapsulation Strength @Property => Reliability
Encapsulation Strength @Property => Security
Encapsulation Strength @Synchronization statement [C#]
Measured By
Lock on weak identity objects [C#]
Determined By
C#/Lock on weak identity objects/DoNotLockOnWeakIdentityObjectsRule [Gendarme]
Evaluated By
C#/Encapsulation Strength @Synchronization statement/WeightedSumMultiMeasureEvaluation
Impacts
Encapsulation Strength @Synchronization statement => Modifiability
Encapsulation Strength @Synchronization statement => Reliability
Encapsulation Strength @Synchronization statement => Security
Ignored Existence of Already Implemented Code @Library function call [Root]
Measured By
Linq [C#]
Determined By
C#/Linq/ReviewLinqMethodRule [Gendarme]
MathMinMax Candidate [C#]
Determined By
C#/MathMinMax Candidate/MathMinMaxCandidateRule [Gendarme]
String.IsNullOrEmpty not used [C#]
Determined By
C#/String.IsNullOrEmpty not used/PreferStringIsNullOrEmptyRule [Gendarme]
Wrong native code handling [C#]
Determined By
C#/Wrong native code handling/PreferSafeHandleRule [Gendarme]
Evaluated By
C#/Ignored Existence of Already Implemented Code @Library function call/WeightedSumMultiMeasureEvaluation
Impacts
Ignored Existence of Already Implemented Code @Library function call => Analyzability
Ignored Existence of Already Implemented Code @Library function call => Reliability
Ignored Existence of Already Implemented Code @Library function call => Resource Utilization
Ignored Existence of Already Implemented Code @Library function call => Security
Ignored Existence of Already Implemented Code @Library function call => Time Behavior
Interface Permission Consistency @Class [Object-orientation]
Measured By
Missing type inheritance demand [C#]
Determined By
C#/Missing type inheritance demand/AddMissingTypeInheritanceDemandRule [Gendarme]
Reduced type security [C#]
Determined By
C#/Reduced type security/DoNotReduceTypeSecurityOnMethodsRule [Gendarme]
Evaluated By
C#/Interface Permission Consistency @Class/WeightedSumMultiMeasureEvaluation
Impacts
Interface Permission Consistency @Class => Security
Interface Permission Consistency @Method invocation [Root]
Measured By
Method invoked that should only be invoked inside a doPrivileged block [Java]
Determined By
Java/Method invoked that should only be invoked inside a doPrivileged block/DP_DO_INSIDE_DO_PRIVILEGED [FindBugs]
Evaluated By
Java/Interface Permission Consistency @Method invocation/WeightedSumMultiMeasureEvaluation
Impacts
Interface Permission Consistency @Method invocation => Security
Runtime Environment Independence @Database statement [Root]
Measured By
Empty password [Java]
Determined By
Java/Empty password/DMI_EMPTY_DB_PASSWORD [FindBugs]
Hardcoded constant database password [Java]
Determined By
Java/Hardcoded constant database password/DMI_CONSTANT_DB_PASSWORD [FindBugs]
Evaluated By
Java/Runtime Environment Independence @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Database statement => Portability
Runtime Environment Independence @Database statement => Security
Runtime Environment Independence @Literal [Root]
Measured By
Hard coded reference to an absolute pathname [Java]
Determined By
Java/Hard coded reference to an absolute pathname/DMI_HARDCODED_ABSOLUTE_FILENAME [FindBugs]
Hardcode paths [C#]
Determined By
C#/Hardcode paths/DoNotHardcodePathsRule [Gendarme]
New line [C#]
Determined By
C#/New line/NewLineLiteralRule [Gendarme]
Evaluated By
C#/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Java/Runtime Environment Independence @Literal/WeightedSumMultiMeasureEvaluation
Impacts
Runtime Environment Independence @Literal => Portability
Runtime Environment Independence @Literal => Security
Runtime Environment Independence @Literal => Testability
Untrusted Data Sanitization @Database statement [Root]
Measured By
A prepared statement is generated from a nonconstant String [Java]
Determined By
Java/A prepared statement is generated from a nonconstant String/SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING [FindBugs]
Nonconstant string passed to execute method on an SQL statement [Java]
Determined By
Java/Nonconstant string passed to execute method on an SQL statement/SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE [FindBugs]
Evaluated By
Java/Untrusted Data Sanitization @Database statement/WeightedSumMultiMeasureEvaluation
Impacts
Untrusted Data Sanitization @Database statement => Security
Untrusted Data Sanitization @HTTP statement [Root]
Measured By
Directly writes an HTTP parameter to an HTTP header [Java]
Determined By
Java/Directly writes an HTTP parameter to an HTTP header/HRS_REQUEST_PARAMETER_TO_HTTP_HEADER [FindBugs]
HTTP cookie formed from untrusted input [Java]
Determined By
Java/HTTP cookie formed from untrusted input/HRS_REQUEST_PARAMETER_TO_COOKIE [FindBugs]
JSP reflected cross site scripting vulnerability [Java]
Determined By
Java/JSP reflected cross site scripting vulnerability/XSS_REQUEST_PARAMETER_TO_JSP_WRITER [FindBugs]
Servlet reflected cross site scripting vulnerability through Servlet output [Java]
Determined By
Java/Servlet reflected cross site scripting vulnerability through Servlet output/XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER [FindBugs]
Servlet reflected cross site scripting vulnerability through error page [Java]
Determined By
Java/Servlet reflected cross site scripting vulnerability through error page/XSS_REQUEST_PARAMETER_TO_SEND_ERROR [FindBugs]
Evaluated By
Java/Untrusted Data Sanitization @HTTP statement/WeightedSumMultiMeasureEvaluation
Impacts
Untrusted Data Sanitization @HTTP statement => Security
Refined By
Accountability [Root]
Evaluated By
Root/Accountability/QIESLEvaluation
Authenticity [Root]
Evaluated By
Root/Authenticity/QIESLEvaluation
Confidentiality [Root]
Evaluated By
Root/Confidentiality/QIESLEvaluation
Integrity [Root]
Evaluated By
Root/Integrity/QIESLEvaluation
Non-Repudiation [Root]
Evaluated By
Root/Non-Repudiation/QIESLEvaluation
Evaluated By
C#/Security/WeightedSumFactorAggregation
Java/Security/WeightedSumFactorAggregation
Object-orientation/Security/WeightedSumFactorAggregation
Root/Security/WeightedSumFactorAggregation
Usability [Root]
Refined By
Accessibility [Root]
Evaluated By
Root/Accessibility/Evaluation
Appropriateness Recognisability [Root]
Evaluated By
Root/Appropriateness Recognisability/QIESLEvaluation
Learnability [Root]
Evaluated By
Root/Learnability/QIESLEvaluation
Operability [Root]
Evaluated By
Root/Operability/QIESLEvaluation
User Error Protection [Root]
Evaluated By
Root/User Error Protection/QIESLEvaluation
User Interface Aesthetics [Root]
Evaluated By
Root/User Interface Aesthetics/QIESLEvaluation
Evaluated By
Root/Usability/WeightedSumFactorAggregation
Evaluated By
Root/Quality @Product/WeightedSumFactorAggregation
Product [Root]
Consists Of
Product part [Root]
Specialized By
Assembly [C#]
Comment [Root]
Specialized By
Source code comment [Root]
Identifier [Root]
Specialized By
Source code identifier [Root]
Specialized By
Class name [Object-orientation]
Method name [Object-orientation]
Type name [Root]
Source code part [Root]
Specialized By
Annotation [Root]
Specialized By
Serialization Attribute [Object-orientation]
Interface [Root]
Iterator [Root]
Literal [Root]
Loop [Root]
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Method invocation [Root]
Method parameter [Object-orientation]
Source code comment [Root]
Source code identifier [Root]
Specialized By
Class name [Object-orientation]
Method name [Object-orientation]
Type name [Root]
Statement [Root]
Specialized By
Assignment statement [Root]
Catch Statement [Root]
Control flow statement [Root]
Specialized By
Conditional statement [Root]
Specialized By
Switch statement [Root]
Date or Time Statement [Root]
Dereference Statement [Root]
Expression [Root]
Specialized By
Bitwise logical expression [Root]
Boolean expression [Root]
Specialized By
Comparison expression [Root]
Mathematical expression [Root]
Method invocation argument [Object-orientation]
Regular expression [Root]
Type conversion expression [Root]
Specialized By
Type cast [Root]
XML Expression [Root]
XPath expression [Root]
HTTP statement [Root]
Library function call [Root]
Specialized By
Array Library Function Call [Root]
Collection Statement [Root]
Database statement [Root]
Garbage collection statement [Object-orientation]
IO Library Function Call [Root]
Mathematical Library Function Call [Root]
String Library Function Call [Root]
String handling statement [Root]
Thread Library Function Call [Root]
UI Library Function Call [Root]
XML Library Statement [Root]
Memory statement [Root]
Specialized By
Deallocation statement [Root]
Object Allocation Statement [Root]
Method invocation statement [Object-orientation]
Consists Of
Method invocation argument [Object-orientation]
Return Statement [Root]
Synchronization statement [Root]
Type identification statement [Root]
Subroutine [Root]
Specialized By
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Public non interface method [Root]
Type [Root]
Specialized By
Array [Root]
Class [Object-orientation]
Specialized By
Inner Class [Object-orientation]
Internal class [Object-orientation]
Test Class [Object-orientation]
Value type [C#]
Consists Of
Class name [Object-orientation]
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Delegate [C#]
Enum [Root]
Enumeration [Root]
Consists Of
Enumeration Value [Root]
Thread [Root]
Consists Of
Type name [Root]
Variable [Root]
Specialized By
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Local variable [Root]
Resource Handle [Root]
Consists Of
Source code partition [Root]
Specialized By
Module [Root]
Specialized By
Namespace [Root]
Consists Of
Class [Object-orientation]
Specialized By
Inner Class [Object-orientation]
Internal class [Object-orientation]
Test Class [Object-orientation]
Value type [C#]
Consists Of
Class name [Object-orientation]
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Interface [Root]
Source file [Root]
Source code partition [Root]
Specialized By
Module [Root]
Specialized By
Namespace [Root]
Consists Of
Class [Object-orientation]
Specialized By
Inner Class [Object-orientation]
Internal class [Object-orientation]
Test Class [Object-orientation]
Value type [C#]
Consists Of
Class name [Object-orientation]
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Interface [Root]
Source file [Root]
Source code [Root]
Consists Of
Source code part [Root]
Specialized By
Annotation [Root]
Specialized By
Serialization Attribute [Object-orientation]
Interface [Root]
Iterator [Root]
Literal [Root]
Loop [Root]
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Method invocation [Root]
Method parameter [Object-orientation]
Source code comment [Root]
Source code identifier [Root]
Specialized By
Class name [Object-orientation]
Method name [Object-orientation]
Type name [Root]
Statement [Root]
Specialized By
Assignment statement [Root]
Catch Statement [Root]
Control flow statement [Root]
Specialized By
Conditional statement [Root]
Specialized By
Switch statement [Root]
Date or Time Statement [Root]
Dereference Statement [Root]
Expression [Root]
Specialized By
Bitwise logical expression [Root]
Boolean expression [Root]
Specialized By
Comparison expression [Root]
Mathematical expression [Root]
Method invocation argument [Object-orientation]
Regular expression [Root]
Type conversion expression [Root]
Specialized By
Type cast [Root]
XML Expression [Root]
XPath expression [Root]
HTTP statement [Root]
Library function call [Root]
Specialized By
Array Library Function Call [Root]
Collection Statement [Root]
Database statement [Root]
Garbage collection statement [Object-orientation]
IO Library Function Call [Root]
Mathematical Library Function Call [Root]
String Library Function Call [Root]
String handling statement [Root]
Thread Library Function Call [Root]
UI Library Function Call [Root]
XML Library Statement [Root]
Memory statement [Root]
Specialized By
Deallocation statement [Root]
Object Allocation Statement [Root]
Method invocation statement [Object-orientation]
Consists Of
Method invocation argument [Object-orientation]
Return Statement [Root]
Synchronization statement [Root]
Type identification statement [Root]
Subroutine [Root]
Specialized By
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Public non interface method [Root]
Type [Root]
Specialized By
Array [Root]
Class [Object-orientation]
Specialized By
Inner Class [Object-orientation]
Internal class [Object-orientation]
Test Class [Object-orientation]
Value type [C#]
Consists Of
Class name [Object-orientation]
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Delegate [C#]
Enum [Root]
Enumeration [Root]
Consists Of
Enumeration Value [Root]
Thread [Root]
Consists Of
Type name [Root]
Variable [Root]
Specialized By
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Local variable [Root]
Resource Handle [Root]
Consists Of
Source code partition [Root]
Specialized By
Module [Root]
Specialized By
Namespace [Root]
Consists Of
Class [Object-orientation]
Specialized By
Inner Class [Object-orientation]
Internal class [Object-orientation]
Test Class [Object-orientation]
Value type [C#]
Consists Of
Class name [Object-orientation]
Field [Object-orientation]
Specialized By
Event [C#]
Property [Object-orientation]
Method [Object-orientation]
Specialized By
Clone method [Object-orientation]
Comparison method [Object-orientation]
Constructor [Object-orientation]
Destructor [Object-orientation]
Overridden Method [Object-orientation]
Security Check Method [Object-orientation]
ToString Method [Object-orientation]
Consists Of
Method interface [Object-orientation]
Consists Of
Method name [Object-orientation]
Method parameter [Object-orientation]
Interface [Root]
Source file [Root]
Use the left sidebar to navigate the
Quamoco
quality model.
Home
Explorer
Imprint