aws-samples / aws-secrets-manager-rotation-lambdas
Conditional Complexity

The distribution of complexity of units (measured with McCabe index).

Intro
  • Conditional complexity (also called cyclomatic complexity) is a term used to measure the complexity of software. The term refers to the number of possible paths through a program function. A higher value ofter means higher maintenance and testing costs (infosecinstitute.com).
  • Conditional complexity is calculated by counting all conditions in the program that can affect the execution path (e.g. if statement, loops, switches, and/or operators, try and catch blocks...).
  • Conditional complexity is measured at the unit level (methods, functions...).
  • Units are classified in four categories based on the measured McCabe index: 1-5 (simple units), 6-10 (medium complex units), 11-25 (complex units), 26+ (very complex units).
Learn more...
Conditional Complexity Overall
  • There are 149 units with 2,775 lines of code in units (95.6% of code).
    • 0 very complex units (0 lines of code)
    • 1 complex units (105 lines of code)
    • 26 medium complex units (919 lines of code)
    • 65 simple units (1,099 lines of code)
    • 57 very simple units (652 lines of code)
0% | 3% | 33% | 39% | 23%
Legend:
51+
26-50
11-25
6-10
1-5
Alternative Visuals
Conditional Complexity per Extension
51+
26-50
11-25
6-10
1-5
py0% | 3% | 33% | 39% | 23%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
SecretsManagerRDSSQLServerRotationMultiUser0% | 31% | 27% | 19% | 22%
SecretsManagerActiveDirectoryRotationSingleUser0% | 0% | 36% | 39% | 24%
SecretsManagerRDSMySQLRotationMultiUser0% | 0% | 34% | 36% | 28%
SecretsManagerRDSSQLServerRotationSingleUser0% | 0% | 40% | 37% | 22%
SecretsManagerRedshiftRotationMultiUser0% | 0% | 40% | 33% | 25%
SecretsManagerRDSMariaDBRotationMultiUser0% | 0% | 33% | 39% | 26%
SecretsManagerRDSPostgreSQLRotationMultiUser0% | 0% | 31% | 42% | 25%
SecretsManagerRDSPostgreSQLRotationSingleUser0% | 0% | 34% | 49% | 15%
SecretsManagerRDSMySQLRotationSingleUser0% | 0% | 35% | 45% | 19%
SecretsManagerMongoDBRotationMultiUser0% | 0% | 33% | 47% | 18%
SecretsManagerMongoDBRotationSingleUser0% | 0% | 35% | 49% | 15%
SecretsManagerRDSMariaDBRotationSingleUser0% | 0% | 35% | 48% | 16%
SecretsManagerRDSOracleRotationMultiUser0% | 0% | 31% | 33% | 34%
SecretsManagerRedshiftRotationSingleUser0% | 0% | 30% | 42% | 26%
SecretsManagerRDSOracleRotationSingleUser0% | 0% | 30% | 43% | 26%
SecretsManagerRotationTemplate0% | 0% | 0% | 70% | 29%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
def apply_database_permissions()
in SecretsManagerRDSSQLServerRotationMultiUser/lambda_function.py
105 28 3
def set_secret()
in SecretsManagerRedshiftRotationMultiUser/lambda_function.py
67 23 3
def set_secret()
in SecretsManagerRDSMySQLRotationMultiUser/lambda_function.py
58 19 3
def set_secret()
in SecretsManagerRDSMariaDBRotationMultiUser/lambda_function.py
50 17 3
def set_secret()
in SecretsManagerRDSMariaDBRotationSingleUser/lambda_function.py
40 16 3
def set_secret()
in SecretsManagerRDSSQLServerRotationMultiUser/lambda_function.py
46 16 3
def set_secret()
in SecretsManagerMongoDBRotationSingleUser/lambda_function.py
41 15 3
def set_secret()
in SecretsManagerRDSMySQLRotationSingleUser/lambda_function.py
43 15 3
def set_secret()
in SecretsManagerRDSPostgreSQLRotationSingleUser/lambda_function.py
43 15 3
def set_secret()
in SecretsManagerRDSPostgreSQLRotationMultiUser/lambda_function.py
48 15 3
def set_secret()
in SecretsManagerRDSSQLServerRotationSingleUser/lambda_function.py
55 15 3
def set_secret()
in SecretsManagerRDSOracleRotationSingleUser/lambda_function.py
38 14 3
def set_password_for_login()
in SecretsManagerRDSSQLServerRotationMultiUser/lambda_function.py
32 14 4
def set_secret()
in SecretsManagerRedshiftRotationSingleUser/lambda_function.py
40 14 3
def get_ssl_config()
in SecretsManagerRDSMariaDBRotationSingleUser/lambda_function.py
14 13 1
def get_ssl_config()
in SecretsManagerMongoDBRotationSingleUser/lambda_function.py
14 13 1
def get_ssl_config()
in SecretsManagerRDSMySQLRotationSingleUser/lambda_function.py
14 13 1
def get_ssl_config()
in SecretsManagerRDSSQLServerRotationMultiUser/lambda_function.py
14 13 1
def get_ssl_config()
in SecretsManagerRDSPostgreSQLRotationSingleUser/lambda_function.py
14 13 1
def get_ssl_config()
in SecretsManagerRDSMariaDBRotationMultiUser/lambda_function.py
14 13 1