Category: Complexity Issues

Draft
Summary

Weaknesses in this category are associated with things being overly complex.

Membership
IDNameDescription
CWE-1043Data Element Aggregating an Excessively Large Number of Non-Primitive ElementsThe product uses a data element that has an excessively large number of sub-elements with non-primitive data types such as structures or aggregated objects.
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-1055Multiple Inheritance from Concrete ClassesThe product contains a class with inheritance from more than one concrete class.
CWE-1056Invokable Control Element with Variadic ParametersA named-callable or method control element has a signature that supports a variable (variadic) number of parameters or arguments.
CWE-1060Excessive Number of Inefficient Server-Side Data AccessesThe product performs too many data queries without using efficient data processing functionality such as stored procedures.
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-1086Class with Excessive Number of Child ClassesA class contains an unnecessarily large number of children.
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-1119Excessive Use of Unconditional BranchingThe code uses too many unconditional branches (such as "goto").
CWE-1121Excessive McCabe Cyclomatic ComplexityThe code contains McCabe cyclomatic complexity that exceeds a desirable maximum.
CWE-1122Excessive Halstead ComplexityThe code is structured in a way that a Halstead complexity measure exceeds a desirable maximum.
CWE-1123Excessive Use of Self-Modifying CodeThe product uses too much self-modifying code.
CWE-1124Excessively Deep NestingThe code contains a callable or other code grouping in which the nesting / branching is too deep.
CWE-1125Excessive Attack SurfaceThe product has an attack surface whose quantitative measurement exceeds a desirable maximum.
CWE-1333Inefficient Regular Expression ComplexityThe product uses a regular expression with an inefficient, possibly exponential worst-case computational complexity that consumes excessive CPU cycles.
CWE-699Software DevelopmentThis view organizes weaknesses around concepts that are frequently used or encountered in software development. This includes all aspects of the software development lifecycle including both architecture and implementation. Accordingly, this view can align closely with the perspectives of architects, developers, educators, and assessment vendors. It provides a variety of categories that are intended to simplify navigation, browsing, and mapping.
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.