6
References
[REF-960]Object Management Group (OMG). "Automated Source Code Maintainability Measure
(ASCMM)". 2016 January. < https://www.omg.org/spec/ASCMM/ >.2023-04-07.
CWE-1086: Class with Excessive Number of Child Classes
Weakness ID : 1086
Structure : Simple
Abstraction : Base
Description
A class contains an unnecessarily large number of children.
Extended Description
This issue makes it more difficult to understand and maintain the software, which indirectly affects
security by making it more difficult or time-consuming to find and/or fix vulnerabilities. It also might
make it easier to introduce vulnerabilities.
While the interpretation of "large number of children" may vary for each product or developer, CISQ
recommends a default maximum of 10 child classes.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 1093 Excessively Complex Data Representation 1933
Relevant to the view "Software Development" (CWE-699)
Nature Type ID Name Page
MemberOf 1226 Complexity Issues 2481
Weakness Ordinalities
Indirect :
Common Consequences
Scope Impact Likelihood
Other Reduce Maintainability
MemberOf Relationships
This MemberOf relationships table shows additional CWE Catgeories and Views that reference this
weakness as a member. This information is often useful in understanding where a weakness fits
within the context of external information sources.
Nature Type ID Name Page
MemberOf 1130 CISQ Quality Measures (2016) - Maintainability 1128 2441
MemberOf 1307 CISQ Quality Measures - Maintainability 1305 2484
CWE Version 4.14
CWE-1087: Class with Virtual Method without a Virtual Destructor
CWE-1087: Class with Virtual Method without a Virtual Destructor