aws / amazon-redshift-jdbc-driver
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 3,035 units with 37,624 lines of code in units (55.4% of code).
    • 8 very complex units (1,884 lines of code)
    • 18 complex units (1,979 lines of code)
    • 97 medium complex units (6,317 lines of code)
    • 223 simple units (6,848 lines of code)
    • 2,689 very simple units (20,596 lines of code)
5% | 5% | 16% | 18% | 54%
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
java5% | 5% | 16% | 18% | 54%
Conditional Complexity per Logical Component
primary logical decomposition
51+
26-50
11-25
6-10
1-5
redshift/core15% | 12% | 15% | 16% | 39%
redshift/jdbc4% | 3% | 22% | 21% | 46%
redshift/plugin0% | 6% | 22% | 28% | 41%
redshift0% | 18% | 10% | 20% | 50%
redshift/ssl0% | 14% | 16% | 25% | 44%
redshift/util0% | 0% | 18% | 19% | 62%
redshift/ds0% | 0% | 11% | 15% | 72%
redshift/xa0% | 0% | 38% | 27% | 34%
redshift/gss0% | 0% | 71% | 19% | 8%
redshift/logger0% | 0% | 6% | 23% | 69%
redshift/geometric0% | 0% | 4% | 10% | 85%
redshift/sspi0% | 0% | 0% | 56% | 43%
redshift/replication0% | 0% | 0% | 21% | 78%
redshift/copy0% | 0% | 0% | 14% | 85%
redshift/osgi0% | 0% | 0% | 33% | 66%
redshift/largeobject0% | 0% | 0% | 6% | 93%
redshift/translation0% | 0% | 0% | 0% | 100%
redshift/hostchooser0% | 0% | 0% | 0% | 100%
redshift/fastpath0% | 0% | 0% | 0% | 100%
redshift/jre70% | 0% | 0% | 0% | 100%
redshift/httpclient0% | 0% | 0% | 0% | 100%
redshift/jdbc20% | 0% | 0% | 0% | 100%
Most Complex Units
Top 20 most complex units
Unit# linesMcCabe index# params
private void processResultsOnThread()
in src/main/java/com/amazon/redshift/core/v3/QueryExecutorImpl.java
422 121 7
private Object buildArray()
in src/main/java/com/amazon/redshift/jdbc/RedshiftArray.java
222 115 3
public static List parseJdbcSql()
in src/main/java/com/amazon/redshift/core/Parser.java
270 103 7
public T getObject()
in src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
259 85 2
public static JdbcCallParseInfo modifyJdbcCall()
in src/main/java/com/amazon/redshift/core/Parser.java
181 63 5
public static Properties setIAMProperties()
in src/main/java/com/amazon/redshift/core/IamHelper.java
188 51 3
private static void setIAMCredentials()
in src/main/java/com/amazon/redshift/core/IamHelper.java
168 51 3
public void setObject()
in src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java
174 51 4
CopyOperationImpl processCopyResults()
in src/main/java/com/amazon/redshift/core/v3/CopyQueryExecutor.java
165 46 2
private void doAuthentication()
in src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java
202 46 4
public boolean verify()
in src/main/java/com/amazon/redshift/ssl/RedshiftjdbcHostnameVerifier.java
115 44 2
private void updateRowBuffer()
in src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
156 43 0
public int getDisplaySize()
in src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java
86 39 2
protected String getSamlAssertion()
in src/main/java/com/amazon/redshift/plugin/PingCredentialsProvider.java
138 36 0
public QueryExecutor openConnectionImpl()
in src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java
133 34 5
public void setNull()
in src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java
80 34 2
private synchronized void buildArrayList()
in src/main/java/com/amazon/redshift/jdbc/RedshiftArray.java
80 33 0
protected Object internalGetObject()
in src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
75 32 2
public static Properties parseURL()
in src/main/java/com/amazon/redshift/Driver.java
138 32 2
public int getPrecision()
in src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java
55 31 2