apache / openoffice
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
mk
cfg
txt
ps
xsl
patch
desktop
properties
mod
tab
bas
sce
s
ini
project
props
classpath
cmd
asp
prefs
in
dsp
reg
inl
l
xsd
frm
spec
sed
y
plist
xslt
policy
cl
vbs
xmi
lex
dfm
diff
launch
el
vbproj
wsf
frx
tcsh
nsi
man
dpr
m4
ll
clang-format
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.

main2035530 LOC (34%) 18,496 files
test116854 LOC (1%) 851 files
generated3378163 LOC (56%) 7,269 files
build and deployment156193 LOC (2%) 1,931 files
other297512 LOC (4%) 1,375 files
Main Code
All manually created or maintained source code that defines logic of the product that is run in a production environment.
xsl
y
bas
cfg
mod
frm
in
s
desktop
l
sce
spec
cl
xsd
inl
ll
man
nsi
reg
lex
vbs
props
asp
wsf
el
cmd
sed
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*".
  • 18496 files match defined criteria (2,035,530 LOC, 100.0% vs. main code):
    • 9,334 *.hxx files (746,053 LOC)
    • 2,058 *.cxx files (563,704 LOC)
    • 3,290 *.java files (368,061 LOC)
    • 991 *.xml files (107,301 LOC)
    • 692 *.h files (51,418 LOC)
    • 153 *.c files (47,101 LOC)
    • 514 *.css files (26,133 LOC)
    • 84 *.xsl files (17,540 LOC)
    • 75 *.pl files (15,111 LOC)
    • 99 *.cpp files (14,329 LOC)
    • 3 *.y files (8,632 LOC)
    • 25 *.bas files (8,004 LOC)
    • 759 *.cfg files (6,285 LOC)
    • 33 *.mm files (5,986 LOC)
    • 24 *.cs files (5,052 LOC)
    • 13 *.cls files (4,938 LOC)
    • 27 *.py files (4,234 LOC)
    • 14 *.mod files (3,339 LOC)
    • 4 *.frm files (3,309 LOC)
    • 6 *.in files (3,265 LOC)
    • 16 *.s files (3,035 LOC)
    • 15 *.m files (2,702 LOC)
    • 25 *.htm files (2,119 LOC)
    • 11 *.pm files (1,594 LOC)
    • 83 *.html files (1,553 LOC)
    • 50 *.desktop files (1,478 LOC)
    • 4 *.l files (1,409 LOC)
    • 3 *.js files (1,282 LOC)
    • 2 *.vb files (1,217 LOC)
    • 23 *.sce files (1,038 LOC)
    • 4 *.spec files (1,020 LOC)
    • 7 *.awk files (882 LOC)
    • 5 *.inc files (845 LOC)
    • 2 *.cl files (776 LOC)
    • 4 *.xsd files (546 LOC)
    • 5 *.inl files (478 LOC)
    • 1 *.ll files (458 LOC)
    • 3 *.cc files (381 LOC)
    • 1 *.man files (368 LOC)
    • 1 *.nsi files (359 LOC)
    • 5 *.reg files (325 LOC)
    • 1 *.lex files (310 LOC)
    • 2 *.applescript files (267 LOC)
    • 1 *.vbs files (263 LOC)
    • 2 *.asm files (260 LOC)
    • 8 *.props files (211 LOC)
    • 6 *.asp files (170 LOC)
    • 1 *.wsf files (164 LOC)
    • 1 *.el files (115 LOC)
    • 1 *.cmd files (45 LOC)
    • 2 *.rdf files (33 LOC)
    • 1 *.php files (27 LOC)
    • 2 *.sed files (5 LOC)
  • " *.hxx" is biggest, containing 36.65% of LOC.
  • " *.sed" is smallest, containing 0% of LOC.


*.hxx746053 LOC (36%) 9,334 files
*.cxx563704 LOC (27%) 2,058 files
*.java368061 LOC (18%) 3,290 files
*.xml107301 LOC (5%) 991 files
*.h51418 LOC (2%) 692 files
*.c47101 LOC (2%) 153 files
*.css26133 LOC (1%) 514 files
*.xsl17540 LOC (<1%) 84 files
*.pl15111 LOC (<1%) 75 files
*.cpp14329 LOC (<1%) 99 files
*.y8632 LOC (<1%) 3 files
*.bas8004 LOC (<1%) 25 files
*.cfg6285 LOC (<1%) 759 files
*.mm5986 LOC (<1%) 33 files
*.cs5052 LOC (<1%) 24 files
*.cls4938 LOC (<1%) 13 files
*.py4234 LOC (<1%) 27 files
*.mod3339 LOC (<1%) 14 files
*.frm3309 LOC (<1%) 4 files
*.in3265 LOC (<1%) 6 files
*.s3035 LOC (<1%) 16 files
*.m2702 LOC (<1%) 15 files
*.htm2119 LOC (<1%) 25 files
*.pm1594 LOC (<1%) 11 files
*.html1553 LOC (<1%) 83 files
*.desktop1478 LOC (<1%) 50 files
*.l1409 LOC (<1%) 4 files
*.js1282 LOC (<1%) 3 files
*.vb1217 LOC (<1%) 2 files
*.sce1038 LOC (<1%) 23 files
*.spec1020 LOC (<1%) 4 files
*.awk882 LOC (<1%) 7 files
*.inc845 LOC (<1%) 5 files
*.cl776 LOC (<1%) 2 files
*.xsd546 LOC (<1%) 4 files
*.inl478 LOC (<1%) 5 files
*.ll458 LOC (<1%) 1 file
*.cc381 LOC (<1%) 3 files
*.man368 LOC (<1%) 1 file
*.nsi359 LOC (<1%) 1 file
*.reg325 LOC (<1%) 5 files
*.lex310 LOC (<1%) 1 file
*.applescript267 LOC (<1%) 2 files
*.vbs263 LOC (<1%) 1 file
*.asm260 LOC (<1%) 2 files
*.props211 LOC (<1%) 8 files
*.asp170 LOC (<1%) 6 files
*.wsf164 LOC (<1%) 1 file
*.el115 LOC (<1%) 1 file
*.cmd45 LOC (<1%) 1 file
*.rdf33 LOC (<1%) 2 files
*.php27 LOC (<1%) 1 file
*.sed5 LOC (<1%) 2 files
Test Code
Used only for testing of the product. Normally not deployed in a production environment.
mod
mk
cfg
bas
vbproj
xsl
policy
sce
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*/test_.*".
    • files with paths like ".*/[Tt]est/.*".
    • files with paths like ".*_test[.].*".
    • files with paths like ".*/test[.].*".
    • files with paths like ".*/palmtests/.*".
    • files with paths like ".*_tests[.].*".
    • files with paths like ".*[.][Tt]est[.].*".
    • files with paths like ".*[.]test[.].*".
    • files with paths like ".*/cppunittests/.*".
  • 851 files match defined criteria (116,854 LOC, 5.7% vs. main code):
    • 418 *.java files (64,144 LOC)
    • 65 *.cxx files (20,358 LOC)
    • 26 *.mod files (6,280 LOC)
    • 88 *.mk files (5,273 LOC)
    • 87 *.xml files (4,184 LOC)
    • 34 *.html files (4,015 LOC)
    • 4 *.htm files (2,390 LOC)
    • 24 *.cfg files (2,144 LOC)
    • 17 *.cpp files (2,113 LOC)
    • 8 *.bas files (1,570 LOC)
    • 36 *.hxx files (968 LOC)
    • 22 *.h files (839 LOC)
    • 2 *.vb files (672 LOC)
    • 2 *.pm files (653 LOC)
    • 3 *.pl files (560 LOC)
    • 6 *.py files (240 LOC)
    • 1 *.c files (94 LOC)
    • 1 *.vbproj files (90 LOC)
    • 2 *.bat files (88 LOC)
    • 1 *.xsl files (66 LOC)
    • 2 *.policy files (48 LOC)
    • 1 *.cls files (44 LOC)
    • 1 *.sce files (21 LOC)
  • " *.java" is biggest, containing 54.89% of LOC.
  • " *.sce" is smallest, containing 0.02% of LOC.


*.java64144 LOC (54%) 418 files
*.cxx20358 LOC (17%) 65 files
*.mod6280 LOC (5%) 26 files
*.mk5273 LOC (4%) 88 files
*.xml4184 LOC (3%) 87 files
*.html4015 LOC (3%) 34 files
*.htm2390 LOC (2%) 4 files
*.cfg2144 LOC (1%) 24 files
*.cpp2113 LOC (1%) 17 files
*.bas1570 LOC (1%) 8 files
*.hxx968 LOC (<1%) 36 files
*.h839 LOC (<1%) 22 files
*.vb672 LOC (<1%) 2 files
*.pm653 LOC (<1%) 2 files
*.pl560 LOC (<1%) 3 files
*.py240 LOC (<1%) 6 files
*.c94 LOC (<1%) 1 file
*.vbproj90 LOC (<1%) 1 file
*.bat88 LOC (<1%) 2 files
*.xsl66 LOC (<1%) 1 file
*.policy48 LOC (<1%) 2 files
*.cls44 LOC (<1%) 1 file
*.sce21 LOC (<1%) 1 file
Generated Code
Automatically generated files, not manually changed after generation.
ps
dsp
mk
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.](cxx|cpp|c|hxx|hpp|h)" AND any line of content like ".*autogen include statement, do not remove.*".
    • files with paths like ".*[.](ps|eps|pfa)".
    • files with paths like ".*_generated[.][a-z]+".
    • files with paths like ".*[.](html|html|xhtml)" AND any line of content like "[ ]*[<]meta name[=]"generator" .*".
    • files with paths like ".*[.]dsp" AND any line of content like ".*[#] Microsoft Developer Studio Generated Build File.*".
  • 7269 files match defined criteria (3,378,163 LOC, 166.0% vs. main code):
    • 7,238 *.cxx files (3,372,129 LOC)
    • 5 *.ps files (3,982 LOC)
    • 6 *.dsp files (1,093 LOC)
    • 16 *.hxx files (761 LOC)
    • 2 *.mk files (110 LOC)
    • 1 *.html files (78 LOC)
    • 1 *.c files (10 LOC)
  • " *.cxx" is biggest, containing 99.82% of LOC.
  • " *.c" is smallest, containing 0% of LOC.


*.cxx3372129 LOC (99%) 7,238 files
*.ps3982 LOC (<1%) 5 files
*.dsp1093 LOC (<1%) 6 files
*.hxx761 LOC (<1%) 16 files
*.mk110 LOC (<1%) 2 files
*.html78 LOC (<1%) 1 file
*.c10 LOC (<1%) 1 file
Build and Deployment Code
Source code used to configure or support build and deployment process.
mk
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]mk".
    • files with paths like ".*/build[.]xml".
    • files with paths like ".*[.]bat".
    • files with paths like ".*[.]sh".
    • files with paths like ".*[.]git[a-z]+".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]vbproj".
  • 1931 files match defined criteria (156,193 LOC, 7.7% vs. main code):
    • 1,841 *.mk files (151,372 LOC)
    • 51 *.sh files (2,342 LOC)
    • 35 *.xml files (2,342 LOC)
    • 4 *.bat files (137 LOC)
  • " *.mk" is biggest, containing 96.91% of LOC.
  • " *.bat" is smallest, containing 0.09% of LOC.


*.mk151372 LOC (96%) 1,841 files
*.sh2342 LOC (1%) 51 files
*.xml2342 LOC (1%) 35 files
*.bat137 LOC (<1%) 4 files
Other Code
tab
txt
patch
ini
mk
properties
plist
dsp
ps
diff
vbs
tcsh
dpr
dfm
Explore:   circles  |  sunburst
  • The following criteria are used to filter files:
    • files with paths like ".*[.]properties".
    • files with paths like ".*/[Dd]emos?/.*".
    • files with paths like ".*[.]txt".
    • files with paths like ".*[.]ini".
    • files with paths like ".*/[Ee]xamples/.*".
    • files with paths like ".*[.]patch".
    • files with paths like ".*[.]md".
    • files with paths like ".*/README[.][a-z0-9]+".
    • files with paths like ".*[.]svg".
    • files with paths like ".*[.]tab".
    • files with paths like ".*[.]dsp".
    • files with paths like ".*/[.]gitignore".
    • files with paths like ".*[.]plist".
    • files with paths like ".*/[Dd]ocumentation/.*".
    • files with paths like ".*[.]diff".
  • 1375 files match defined criteria (297,512 LOC, 14.6% vs. main code):
    • 36 *.tab files (79,418 LOC)
    • 446 *.svg files (59,937 LOC)
    • 282 *.txt files (49,130 LOC)
    • 259 *.java files (39,842 LOC)
    • 110 *.patch files (38,958 LOC)
    • 40 *.cxx files (7,251 LOC)
    • 17 *.ini files (5,105 LOC)
    • 4 *.html files (3,842 LOC)
    • 28 *.mk files (2,073 LOC)
    • 4 *.cs files (1,580 LOC)
    • 41 *.properties files (1,512 LOC)
    • 3 *.plist files (1,459 LOC)
    • 15 *.hxx files (1,224 LOC)
    • 6 *.dsp files (1,093 LOC)
    • 2 *.ps files (1,091 LOC)
    • 37 *.xml files (901 LOC)
    • 4 *.cpp files (530 LOC)
    • 2 *.pas files (437 LOC)
    • 8 *.h files (414 LOC)
    • 1 *.diff files (404 LOC)
    • 9 *.py files (390 LOC)
    • 4 *.js files (204 LOC)
    • 3 *.bat files (191 LOC)
    • 7 *.md files (142 LOC)
    • 2 *.c files (128 LOC)
    • 1 *.vb files (125 LOC)
    • 1 *.vbs files (72 LOC)
    • 1 *.tcsh files (43 LOC)
    • 1 *.dpr files (10 LOC)
    • 1 *.dfm files (6 LOC)
  • " *.tab" is biggest, containing 26.69% of LOC.
  • " *.dfm" is smallest, containing 0% of LOC.


*.tab79418 LOC (26%) 36 files
*.svg59937 LOC (20%) 446 files
*.txt49130 LOC (16%) 282 files
*.java39842 LOC (13%) 259 files
*.patch38958 LOC (13%) 110 files
*.cxx7251 LOC (2%) 40 files
*.ini5105 LOC (1%) 17 files
*.html3842 LOC (1%) 4 files
*.mk2073 LOC (<1%) 28 files
*.cs1580 LOC (<1%) 4 files
*.properties1512 LOC (<1%) 41 files
*.plist1459 LOC (<1%) 3 files
*.hxx1224 LOC (<1%) 15 files
*.dsp1093 LOC (<1%) 6 files
*.ps1091 LOC (<1%) 2 files
*.xml901 LOC (<1%) 37 files
*.cpp530 LOC (<1%) 4 files
*.pas437 LOC (<1%) 2 files
*.h414 LOC (<1%) 8 files
*.diff404 LOC (<1%) 1 file
*.py390 LOC (<1%) 9 files
*.js204 LOC (<1%) 4 files
*.bat191 LOC (<1%) 3 files
*.md142 LOC (<1%) 7 files
*.c128 LOC (<1%) 2 files
*.vb125 LOC (<1%) 1 file
*.vbs72 LOC (<1%) 1 file
*.tcsh43 LOC (<1%) 1 file
*.dpr10 LOC (<1%) 1 file
*.dfm6 LOC (<1%) 1 file
Analyzers
Info about analyzers used for source code examinations.


2025-05-07 15:42