Category: CISQ Quality Measures (2016) - Maintainability

Draft
Summary

Weaknesses in this category are related to the CISQ Quality Measures for Maintainability, as documented in 2016 with the Automated Source Code Maintainability Measure (ASCMM) Specification 1.0. Presence of these weaknesses could reduce the maintainability of the software.

Membership
IDNameDescription
CWE-1041Use of Redundant CodeThe product has multiple functions, methods, procedures, macros, etc. that contain the same code.
CWE-1044Architecture with Number of Horizontal Layers Outside of Expected RangeThe product's architecture contains too many - or too few - horizontal layers.
CWE-1047Modules with Circular DependenciesThe product contains modules in which one module has references that cycle back to itself, i.e., there are circular dependencies.
CWE-1048Invokable Control Element with Large Number of Outward CallsThe code contains callable control elements that contain an excessively large number of references to other application objects external to the context of the callable, i.e. a Fan-Out value that is excessively large.
CWE-1052Excessive Use of Hard-Coded Literals in InitializationThe product initializes a data element using a hard-coded literal that is not a simple integer or static constant element.
CWE-1054Invocation of a Control Element at an Unnecessarily Deep Horizontal LayerThe code at one architectural layer invokes code that resides at a deeper layer than the adjacent layer, i.e., the invocation skips at least one layer, and the invoked code is not part of a vertical utility layer that can be referenced from any horizontal layer.
CWE-1055Multiple Inheritance from Concrete ClassesThe product contains a class with inheritance from more than one concrete class.
CWE-1064Invokable Control Element with Signature Containing an Excessive Number of ParametersThe product contains a function, subroutine, or method whose signature has an unnecessarily large number of parameters/arguments.
CWE-1074Class with Excessively Deep InheritanceA class has an inheritance level that is too high, i.e., it has a large number of parent classes.
CWE-1075Unconditional Control Flow Transfer outside of Switch BlockThe product performs unconditional control transfer (such as a "goto") in code outside of a branching structure such as a switch block.
CWE-1080Source Code File with Excessive Number of Lines of CodeA source code file has too many lines of code.
CWE-1084Invokable Control Element with Excessive File or Data Access OperationsA function or method contains too many operations that utilize a data manager or file resource.
CWE-1085Invokable Control Element with Excessive Volume of Commented-out CodeA function, method, procedure, etc. contains an excessive amount of code that has been commented out within its body.
CWE-1086Class with Excessive Number of Child ClassesA class contains an unnecessarily large number of children.
CWE-1090Method Containing Access of a Member Element from Another ClassA method for a class performs an operation that directly accesses a member element from another class.
CWE-1092Use of Same Invokable Control Element in Multiple Architectural LayersThe product uses the same control element across multiple architectural layers.
CWE-1095Loop Condition Value Update within the LoopThe product uses a loop with a control flow condition based on a value that is updated within the body of the loop.
CWE-1121Excessive McCabe Cyclomatic ComplexityThe code contains McCabe cyclomatic complexity that exceeds a desirable maximum.
CWE-561Dead CodeThe product contains dead code, which can never be executed.
CWE-766Critical Data Element Declared PublicThe product declares a critical variable, field, or member to be public when intended security policy requires it to be private.
CWE-1128CISQ Quality Measures (2016)This view outlines the most important software quality issues as identified by the Consortium for Information & Software Quality (CISQ) Automated Quality Characteristic Measures, released in 2016. These measures are derived from Object Management Group (OMG) standards.
Vulnerability Mapping Notes
Usage: Prohibited
Reasons: Category
Rationale:
This entry is a Category. Using categories for mapping has been discouraged since 2019. Categories are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.
Comment:
See member weaknesses of this category.