CISQ Quality Measures (2016) - Maintainability
A category in the Common Weakness Enumeration published by The MITRE Corporation.
Categories in the Common Weakness Enumeration (CWE) group entries based on some common characteristic or attribute.
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.
The software's architecture contains too many - or too few - horizontal layers.
A class contains an unnecessarily large number of children.
A class has an inheritance level that is too high, i.e., it has a large number of parent classes.
The software declares a critical variable, field, or member to be public when intended security policy requires it to be private.
The software contains dead code, which can never be executed.
The code contains McCabe cyclomatic complexity that exceeds a desirable maximum.
The software initializes a data element using a hard-coded literal that is not a simple integer or static constant element.
The 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 t...
A function or method contains too many operations that utilize a data manager or file resource.
A function, method, procedure, etc. contains an excessive amount of code that has been commented out within its body.
The code contains callable control elements that contain an excessively large number of references to other application objects external to the conte...
The software contains a function, subroutine, or method whose signature has an unnecessarily large number of parameters/arguments.
The software uses a loop with a control flow condition based on a value that is updated within the body of the loop.
A method for a class performs an operation that directly accesses a member element from another class.
The software contains modules in which one module has references that cycle back to itself, i.e., there are circular dependencies.
The software contains a class with inheritance from more than one concrete class.
A source code file has too many lines of code.
The software performs unconditional control transfer (such as a "goto") in code outside of a branching structure such as a switch block.
The software has multiple functions, methods, procedures, macros, etc. that contain the same code.
The software uses the same control element across multiple architectural layers.
This view outlines the most important software quality issues as identified by the Consortium for Information & Software Quality (CISQ) Automated Quality Characteristi...
- Automated Source Code Maintainability Measure (ASCMM)
Object Management Group (OMG)
- Automated Quality Characteristic Measures
Consortium for Information & Software Quality (CISQ)