microsoft / lsvmtools
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 35% duplication:
    • 34,059 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 12,155 duplicated lines
  • 930,357 duplicates
system35% (12,155 lines)
Duplication per Extension
c38% (11,730 lines)
h10% (387 lines)
policy86% (38 lines)
Duplication per Component (primary)
lsvmload71% (8,565 lines)
lsvmutils16% (2,795 lines)
lsvmtool16% (730 lines)
policy86% (38 lines)
striplic16% (15 lines)
posix/include2% (6 lines)
posix1% (6 lines)
posix/include/sys0% (0 lines)
rpm/SPECS0% (0 lines)

Duplication Between Components (50+ lines)

G lsvmload lsvmload lsvmutils lsvmutils lsvmload--lsvmutils 8196

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 930,357 duplicates...
Size#FoldersFilesLinesCode
53 x 2 lsvmload
lsvmload
console.c
simpletext.c
56:146 (34%)
35:127 (100%)
view
21 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
3356:3390 (<1%)
3749:3783 (<1%)
view
19 x 2 lsvmutils
lsvmutils
initrd.c
initrd.c
486:515 (4%)
525:554 (4%)
view
19 x 2 lsvmutils
lsvmutils
ext2.c
ext2.c
2899:2934 (<1%)
3035:3070 (<1%)
view
18 x 2 lsvmutils
lsvmutils
ext2.c
ext2.c
840:869 (<1%)
888:917 (<1%)
view
17 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
3413:3446 (<1%)
3805:3838 (<1%)
view
16 x 2 lsvmload
lsvmload
specialize.c
specialize.c
91:108 (10%)
113:130 (10%)
view
16 x 2 lsvmutils
lsvmutils
initrd.c
initrd.c
447:473 (4%)
615:640 (4%)
view
16 x 2 lsvmutils
lsvmutils
lukscrypto.c
lukscrypto.c
73:105 (11%)
148:181 (11%)
view
16 x 2 lsvmutils
lsvmutils
measure.c
measure.c
759:783 (3%)
944:968 (3%)
view
15 x 2 lsvmutils
lsvmutils
measure.c
measure.c
730:754 (2%)
978:1002 (2%)
view
15 x 2 lsvmutils
lsvmutils
measure.c
measure.c
730:754 (2%)
874:896 (2%)
view
15 x 2 lsvmutils
lsvmutils
measure.c
measure.c
730:754 (2%)
793:817 (2%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
3601:3631 (<1%)
3988:4016 (<1%)
view
15 x 2 lsvmutils
lsvmutils
measure.c
measure.c
874:896 (2%)
978:1002 (2%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
2991:3016 (<1%)
3988:4016 (<1%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
2991:3016 (<1%)
3601:3631 (<1%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
2904:2929 (<1%)
3988:4016 (<1%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
2904:2929 (<1%)
2991:3016 (<1%)
view
15 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
2904:2929 (<1%)
3601:3631 (<1%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
25 x 2 lsvmload
lsvmload
console.c
simpletext.c
113:147 
94:128 
view
18 x 2 lsvmload
lsvmload
specialize.c
specialize.c
90:109 
112:131 
view
16 x 2 lsvmload
lsvmload
console.c
simpletext.c
73:92 
52:71 
view
14 x 2 lsvmload
lsvmload
console.c
simpletext.c
94:111 
74:91 
view
13 x 2 lsvmutils
lsvmutils
tpm2.c
tpm2.c
990:1004 
1467:1481 
view
12 x 2 lsvmload
lsvmload
console.c
simpletext.c
56:71 
35:50 
view
8 x 2 lsvmutils
lsvmutils
lukscrypto.c
luksopenssl.c
184:194 
206:216 
view