alibaba / nann
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
proto
txt
ipp
cfg
vcxproj
in
mlir
filters
xsl
tpl
mak
i
s
m4
pb
plist
meta
lds
asset
csproj
storyboard
patch
pat
cmd
f
w
vim
resx
xslt
properties
podspec
ini
po
sty
el
xsd
mo
clang-format
04
re
inl
f90
nuspec
ui
props
gitmodules
snippet
robot
aj
l
y
pro
pub
yy
toc
targets
man
ld
ll
spec
qml
flex
tcl
ino
csh
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.

main1404726 LOC (57%) 8,775 files
test898685 LOC (36%) 3,356 files
generated3127 LOC (<1%) 30 files
build and deployment10054 LOC (<1%) 249 files
other121272 LOC (4%) 2,133 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
i
tpl
el
lds
04
ld
f90
robot
cmd
ino
f
pub
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 8775 files match defined criteria (1,404,726 LOC, 100.0% vs. main code):
    • 3,232 *.cc files (681,274 LOC)
    • 1,765 *.py files (279,551 LOC)
    • 2,518 *.h files (227,250 LOC)
    • 64 *.inc files (106,982 LOC)
    • 688 *.cmake files (65,576 LOC)
    • 146 *.proto files (11,936 LOC)
    • 29 *.bzl files (6,024 LOC)
    • 58 *.java files (5,006 LOC)
    • 77 *.in files (4,365 LOC)
    • 37 *.i files (3,938 LOC)
    • 6 *.ipynb files (3,263 LOC)
    • 41 *.c files (2,537 LOC)
    • 22 *.go files (2,307 LOC)
    • 8 *.mm files (1,539 LOC)
    • 15 *.tpl files (792 LOC)
    • 12 *.swift files (600 LOC)
    • 9 *.m files (449 LOC)
    • 1 *.el files (355 LOC)
    • 6 *.yaml files (251 LOC)
    • 16 *.lds files (243 LOC)
    • 3 *.04 files (181 LOC)
    • 1 *.pyx files (99 LOC)
    • 1 *.ld files (67 LOC)
    • 6 *.cxx files (37 LOC)
    • 3 *.f90 files (22 LOC)
    • 1 *.robot files (19 LOC)
    • 1 *.cmd files (18 LOC)
    • 1 *.ino files (15 LOC)
    • 1 *.cpp files (14 LOC)
    • 5 *.f files (12 LOC)
    • 1 *.xml files (3 LOC)
    • 1 *.pub files (1 LOC)
  • " *.cc" is biggest, containing 48.5% of LOC.
  • " *.pub" is smallest, containing 0% of LOC.


*.cc681274 LOC (48%) 3,232 files
*.py279551 LOC (19%) 1,765 files
*.h227250 LOC (16%) 2,518 files
*.inc106982 LOC (7%) 64 files
*.cmake65576 LOC (4%) 688 files
*.proto11936 LOC (<1%) 146 files
*.bzl6024 LOC (<1%) 29 files
*.java5006 LOC (<1%) 58 files
*.in4365 LOC (<1%) 77 files
*.i3938 LOC (<1%) 37 files
*.ipynb3263 LOC (<1%) 6 files
*.c2537 LOC (<1%) 41 files
*.go2307 LOC (<1%) 22 files
*.mm1539 LOC (<1%) 8 files
*.tpl792 LOC (<1%) 15 files
*.swift600 LOC (<1%) 12 files
*.m449 LOC (<1%) 9 files
*.el355 LOC (<1%) 1 file
*.yaml251 LOC (<1%) 6 files
*.lds243 LOC (<1%) 16 files
*.04181 LOC (<1%) 3 files
*.pyx99 LOC (<1%) 1 file
*.ld67 LOC (<1%) 1 file
*.cxx37 LOC (<1%) 6 files
*.f9022 LOC (<1%) 3 files
*.robot19 LOC (<1%) 1 file
*.cmd18 LOC (<1%) 1 file
*.ino15 LOC (<1%) 1 file
*.cpp14 LOC (<1%) 1 file
*.f12 LOC (<1%) 5 files
*.xml3 LOC (<1%) 1 file
*.pub1 LOC (<1%) 1 file
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
mlir
proto
ll
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*/test_.*".
    • files with paths like ".*[-]test[-].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/[Tt]ests/.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*/testing[.].*".
    • files with paths like ".*_mock[.][a-zA-Z0-9_\-]+".
    • files with paths like ".*/[Ss]pecs/.*".
    • files with paths like ".*/tests_.*".
    • files with paths like ".*[.][Tt]est/.*".
    • files with paths like ".*[.][Tt]est[.].*".
  • 3356 files match defined criteria (898,685 LOC, 64.0% vs. main code):
    • 1,598 *.py files (450,243 LOC)
    • 1,478 *.cc files (419,322 LOC)
    • 90 *.mlir files (10,923 LOC)
    • 60 *.h files (6,568 LOC)
    • 33 *.java files (4,291 LOC)
    • 15 *.go files (2,596 LOC)
    • 38 *.sh files (1,162 LOC)
    • 8 *.mm files (899 LOC)
    • 8 *.bzl files (645 LOC)
    • 9 *.proto files (533 LOC)
    • 1 *.cmake files (522 LOC)
    • 6 *.swift files (410 LOC)
    • 3 *.m files (274 LOC)
    • 1 *.ll files (127 LOC)
    • 3 *.c files (77 LOC)
    • 2 *.xml files (63 LOC)
    • 1 *.yaml files (15 LOC)
    • 1 *.pyx files (11 LOC)
    • 1 *.sql files (4 LOC)
  • " *.py" is biggest, containing 50.1% of LOC.
  • " *.sql" is smallest, containing 0% of LOC.


*.py450243 LOC (50%) 1,598 files
*.cc419322 LOC (46%) 1,478 files
*.mlir10923 LOC (1%) 90 files
*.h6568 LOC (<1%) 60 files
*.java4291 LOC (<1%) 33 files
*.go2596 LOC (<1%) 15 files
*.sh1162 LOC (<1%) 38 files
*.mm899 LOC (<1%) 8 files
*.bzl645 LOC (<1%) 8 files
*.proto533 LOC (<1%) 9 files
*.cmake522 LOC (<1%) 1 file
*.swift410 LOC (<1%) 6 files
*.m274 LOC (<1%) 3 files
*.ll127 LOC (<1%) 1 file
*.c77 LOC (<1%) 3 files
*.xml63 LOC (<1%) 2 files
*.yaml15 LOC (<1%) 1 file
*.pyx11 LOC (<1%) 1 file
*.sql4 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
meta
snippet
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/src/gen/.*".
    • files with paths like ".*[.]meta" AND any line of content like ".*fileFormatVersion[:] .*".
    • 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[!].*".
    • files with paths like ".*[.]cs" AND any line of content like "[/][/][ ]*".
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like "[ ]*[<]meta name[=]"generator" .*".
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like ".*Generated by Doxygen.*".
    • files with any line of content like "\<\!\-\-[ ]*Generated by .*".
  • 30 files match defined criteria (3,127 LOC, 0.2% vs. main code):
    • 6 *.cc files (1,709 LOC)
    • 4 *.h files (467 LOC)
    • 1 *.java files (390 LOC)
    • 4 *.py files (387 LOC)
    • 11 *.meta files (92 LOC)
    • 1 *.bzl files (57 LOC)
    • 2 *.pl files (23 LOC)
    • 1 *.snippet files (2 LOC)
  • " *.cc" is biggest, containing 54.65% of LOC.
  • " *.snippet" is smallest, containing 0.06% of LOC.


*.cc1709 LOC (54%) 6 files
*.h467 LOC (14%) 4 files
*.java390 LOC (12%) 1 file
*.py387 LOC (12%) 4 files
*.meta92 LOC (2%) 11 files
*.bzl57 LOC (1%) 1 file
*.pl23 LOC (<1%) 2 files
*.snippet2 LOC (<1%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
podspec
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*/pom[.]xml".
    • files with paths like ".*/AndroidManifest[.]xml".
    • files with paths like ".*[.]gradle".
    • files with paths like ".*[.]podspec".
    • files with paths like ".*/[.]gitmodules".
    • files with paths like ".*/package[.]json".
    • files with paths like ".*[.]nuspec".
    • files with paths like ".*[.]csproj".
    • files with paths like ".*[.]mak".
  • 249 files match defined criteria (10,054 LOC, 0.7% vs. main code):
    • 203 *.sh files (8,476 LOC)
    • 11 *.xml files (839 LOC)
    • 31 *.bat files (581 LOC)
    • 3 *.podspec files (83 LOC)
    • 1 *.gradle files (75 LOC)
  • " *.sh" is biggest, containing 84.3% of LOC.
  • " *.gradle" is smallest, containing 0.75% of LOC.


*.sh8476 LOC (84%) 203 files
*.xml839 LOC (8%) 11 files
*.bat581 LOC (5%) 31 files
*.podspec83 LOC (<1%) 3 files
*.gradle75 LOC (<1%) 1 file
Other Code
txt
asset
pb
storyboard
plist
cmd
vim
meta
ini
properties
patch
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]vim".
    • files with paths like ".*[.]json".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]patch".
    • files with paths like ".*/LICENSE[.][a-z0-9]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]plist".
    • files with paths like ".*[.]storyboard".
    • files with paths like ".*[.]xib".
    • files with paths like ".*[.]ini".
    • files with paths like ".*[.]pb".
    • files with paths like ".*/[Ss]amples/.*".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.](rst|rest|resttxt|rsttxt)".
    • files with paths like ".*[.]po".
    • files with paths like ".*/changes[.]xml".
  • 2133 files match defined criteria (121,272 LOC, 8.6% vs. main code):
    • 273 *.md files (30,341 LOC)
    • 1,182 *.rst files (19,799 LOC)
    • 130 *.cc files (16,557 LOC)
    • 155 *.py files (15,403 LOC)
    • 66 *.txt files (8,518 LOC)
    • 36 *.java files (5,974 LOC)
    • 17 *.ipynb files (5,485 LOC)
    • 2 *.svg files (5,348 LOC)
    • 103 *.h files (4,510 LOC)
    • 18 *.mm files (2,084 LOC)
    • 15 *.asset files (1,493 LOC)
    • 48 *.xml files (894 LOC)
    • 5 *.c files (585 LOC)
    • 9 *.inc files (550 LOC)
    • 1 *.unity files (475 LOC)
    • 1 *.pb files (443 LOC)
    • 8 *.storyboard files (441 LOC)
    • 9 *.plist files (394 LOC)
    • 8 *.gradle files (361 LOC)
    • 8 *.json files (326 LOC)
    • 4 *.sh files (302 LOC)
    • 3 *.bat files (198 LOC)
    • 2 *.cs files (168 LOC)
    • 3 *.xib files (139 LOC)
    • 6 *.cmd files (132 LOC)
    • 2 *.vim files (97 LOC)
    • 11 *.meta files (92 LOC)
    • 2 *.ini files (53 LOC)
    • 2 *.m files (42 LOC)
    • 3 *.properties files (36 LOC)
    • 1 *.patch files (32 LOC)
  • " *.md" is biggest, containing 25.02% of LOC.
  • " *.patch" is smallest, containing 0.03% of LOC.


*.md30341 LOC (25%) 273 files
*.rst19799 LOC (16%) 1,182 files
*.cc16557 LOC (13%) 130 files
*.py15403 LOC (12%) 155 files
*.txt8518 LOC (7%) 66 files
*.java5974 LOC (4%) 36 files
*.ipynb5485 LOC (4%) 17 files
*.svg5348 LOC (4%) 2 files
*.h4510 LOC (3%) 103 files
*.mm2084 LOC (1%) 18 files
*.asset1493 LOC (1%) 15 files
*.xml894 LOC (<1%) 48 files
*.c585 LOC (<1%) 5 files
*.inc550 LOC (<1%) 9 files
*.unity475 LOC (<1%) 1 file
*.pb443 LOC (<1%) 1 file
*.storyboard441 LOC (<1%) 8 files
*.plist394 LOC (<1%) 9 files
*.gradle361 LOC (<1%) 8 files
*.json326 LOC (<1%) 8 files
*.sh302 LOC (<1%) 4 files
*.bat198 LOC (<1%) 3 files
*.cs168 LOC (<1%) 2 files
*.xib139 LOC (<1%) 3 files
*.cmd132 LOC (<1%) 6 files
*.vim97 LOC (<1%) 2 files
*.meta92 LOC (<1%) 11 files
*.ini53 LOC (<1%) 2 files
*.m42 LOC (<1%) 2 files
*.properties36 LOC (<1%) 3 files
*.patch32 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.
  • *.cc files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.py files are analyzed with PythonAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Basic heuristic dependency analysis
  • *.h files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.inc files are analyzed with PhpAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Basic heuristic dependency analysis
  • *.cmake files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.proto files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.bzl files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.java files are analyzed with JavaAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis (based on package names)
  • *.in files are analyzed with RustAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • No dependency analysis
  • *.i files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.ipynb files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.c files are analyzed with CStyleAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • No dependency analysis
  • *.go files are analyzed with GoLangAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Basic heuristic dependency analysis
  • *.mm files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.tpl files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.swift files are analyzed with SwiftAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • No dependency analysis
  • *.m files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.el files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.yaml files are analyzed with YamlAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.lds files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.04 files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.pyx files are analyzed with PythonAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Basic heuristic dependency analysis
  • *.ld files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.cxx files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.f90 files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.robot files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.cmd files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.ino files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.cpp files are analyzed with CppAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • Unit size analysis
    • Conditional complexity analysis
    • Advanced heuristic dependency analysis
  • *.f files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.xml files are analyzed with XmlAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Advanced code cleaning (empty lines and comments removed for LOC calculations, additional cleaning for duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis
  • *.pub files are analyzed with DefaultLanguageAnalyzer:
    • All basic standard analyses supported (source code overview, duplication, file size, concerns, findings, metrics, controls)
    • Basic code cleaning (empty lines removed for LOC calculations and duplication calculations)
    • No unit size analysis
    • No conditional complexity analysis
    • No dependency analysis


2025-05-14 19:10