mysql / mysql-connector-cpp
Source Code Overview

Analysis scope, overview of main, test, generated, deployment, build, and other code.

Source Code Analysis Scope
Files includes and excluded from analyses
txt
proto
in
cmakein
clang-format
mak
com
patch
wxs
mms
cfg
m4
i
s
properties
Overview of Analyzed Files
Basic stats on analyzed files
Intro
For analysis purposes we separate files in scope into several categories: main, test, generated, deployment and build, and other.

  • The main category contains all manually created source code files that are being used in the production.
  • Files in the main category are used as input for other analyses: logical decomposition, concerns, duplication, file size, unit size, and conditional complexity.
  • Test source code files are used only for testing of the product. These files are normally not deployed to production.
  • Build and deployment source code files are used to configure or support build and deployment process.
  • Generated source code files are automatically generated files that have not been manually changed after generation.
  • While a source code folder may contain a number of files, we are primarily interested in the source code files that are being written and maintained by developers.
  • Files containing binaries, documentation, or third-party libraries, for instance, are excluded from analysis. The exception are third-party libraries that have been changed by developers.

main314044 LOC (72%) 1,111 files
test73468 LOC (16%) 247 files
generated23054 LOC (5%) 35 files
build and deployment350 LOC (<1%) 5 files
other21939 LOC (5%) 144 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
proto
in
com
cmakein
cfg
i
wxs
mms
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 1111 files match defined criteria (314,044 LOC, 100.0% vs. main code):
    • 250 *.cc files (124,713 LOC)
    • 582 *.h files (101,759 LOC)
    • 58 *.c files (37,495 LOC)
    • 26 *.cpp files (16,520 LOC)
    • 67 *.proto files (10,075 LOC)
    • 40 *.in files (8,383 LOC)
    • 60 *.cmake files (7,696 LOC)
    • 9 *.inc files (4,237 LOC)
    • 1 *.com files (857 LOC)
    • 5 *.bzl files (564 LOC)
    • 2 *.cmakein files (511 LOC)
    • 1 *.cfg files (286 LOC)
    • 2 *.xml files (279 LOC)
    • 2 *.php files (214 LOC)
    • 1 *.i files (181 LOC)
    • 2 *.py files (141 LOC)
    • 1 *.wxs files (86 LOC)
    • 1 *.mms files (38 LOC)
    • 1 *.html files (9 LOC)
  • " *.cc" is biggest, containing 39.71% of LOC.
  • " *.html" is smallest, containing 0% of LOC.


*.cc124713 LOC (39%) 250 files
*.h101759 LOC (32%) 582 files
*.c37495 LOC (11%) 58 files
*.cpp16520 LOC (5%) 26 files
*.proto10075 LOC (3%) 67 files
*.in8383 LOC (2%) 40 files
*.cmake7696 LOC (2%) 60 files
*.inc4237 LOC (1%) 9 files
*.com857 LOC (<1%) 1 file
*.bzl564 LOC (<1%) 5 files
*.cmakein511 LOC (<1%) 2 files
*.cfg286 LOC (<1%) 1 file
*.xml279 LOC (<1%) 2 files
*.php214 LOC (<1%) 2 files
*.i181 LOC (<1%) 1 file
*.py141 LOC (<1%) 2 files
*.wxs86 LOC (<1%) 1 file
*.mms38 LOC (<1%) 1 file
*.html9 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
proto
in
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*/testing[.].*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/tests_.*".
  • 247 files match defined criteria (73,468 LOC, 23.4% vs. main code):
    • 111 *.cc files (35,821 LOC)
    • 47 *.cpp files (23,625 LOC)
    • 71 *.h files (6,155 LOC)
    • 2 *.inc files (4,910 LOC)
    • 4 *.c files (1,487 LOC)
    • 3 *.proto files (551 LOC)
    • 2 *.cmake files (454 LOC)
    • 1 *.sql files (233 LOC)
    • 3 *.in files (194 LOC)
    • 1 *.bzl files (30 LOC)
    • 2 *.py files (8 LOC)
  • " *.cc" is biggest, containing 48.76% of LOC.
  • " *.py" is smallest, containing 0.01% of LOC.


*.cc35821 LOC (48%) 111 files
*.cpp23625 LOC (32%) 47 files
*.h6155 LOC (8%) 71 files
*.inc4910 LOC (6%) 2 files
*.c1487 LOC (2%) 4 files
*.proto551 LOC (<1%) 3 files
*.cmake454 LOC (<1%) 2 files
*.sql233 LOC (<1%) 1 file
*.in194 LOC (<1%) 3 files
*.bzl30 LOC (<1%) 1 file
*.py8 LOC (<1%) 2 files
Generated Code
Automatically generated files, not manually changed after generation.
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with any line of content like "//[ ]*Generated by .*".
    • files with paths like ".*[.](py|java|h|cc|cpp|m|rb|php)" AND any line of content like ".*Generated by the protocol buffer compiler[.][ ]+DO NOT EDIT[!].*".
  • 35 files match defined criteria (23,054 LOC, 7.3% vs. main code):
    • 19 *.cc files (14,076 LOC)
    • 11 *.h files (8,786 LOC)
    • 5 *.rb files (192 LOC)
  • " *.cc" is biggest, containing 61.06% of LOC.
  • " *.rb" is smallest, containing 0.83% of LOC.


*.cc14076 LOC (61%) 19 files
*.h8786 LOC (38%) 11 files
*.rb192 LOC (<1%) 5 files
Build and Deployment Code
Source code used to configure or support build and deployment process.
mak
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]mak".
  • 5 files match defined criteria (350 LOC, 0.1% vs. main code):
    • 3 *.sh files (284 LOC)
    • 2 *.mak files (66 LOC)
  • " *.sh" is biggest, containing 81.14% of LOC.
  • " *.mak" is smallest, containing 18.86% of LOC.


*.sh284 LOC (81%) 3 files
*.mak66 LOC (18%) 2 files
Other Code
txt
properties
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*[.]patch".
  • 144 files match defined criteria (21,939 LOC, 7.0% vs. main code):
    • 107 *.txt files (14,310 LOC)
    • 10 *.rst files (3,751 LOC)
    • 15 *.cpp files (2,201 LOC)
    • 8 *.md files (696 LOC)
    • 1 *.properties files (553 LOC)
    • 1 *.php files (340 LOC)
    • 1 *.patch files (53 LOC)
    • 1 *.h files (35 LOC)
  • " *.txt" is biggest, containing 65.23% of LOC.
  • " *.h" is smallest, containing 0.16% of LOC.


*.txt14310 LOC (65%) 107 files
*.rst3751 LOC (17%) 10 files
*.cpp2201 LOC (10%) 15 files
*.md696 LOC (3%) 8 files
*.properties553 LOC (2%) 1 file
*.php340 LOC (1%) 1 file
*.patch53 LOC (<1%) 1 file
*.h35 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-09 19:49