facebookresearch / calibration_membership
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
  • 24% duplication:
    • 1,934 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 470 duplicated lines
  • 39 duplicates
system24% (470 lines)
Duplication per Extension
py24% (470 lines)
Duplication per Component (primary)
attacks43% (360 lines)
datasets30% (82 lines)
utils3% (16 lines)
training5% (12 lines)
models0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G attacks attacks datasets datasets attacks--datasets 104

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 39 duplicates...
Size#FoldersFilesLinesCode
31 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
621:656 (3%)
669:704 (3%)
view
30 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
621:655 (3%)
1050:1084 (3%)
view
30 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
669:703 (3%)
1050:1084 (3%)
view
26 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
334:367 (3%)
388:421 (3%)
view
24 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
440:464 (2%)
1050:1074 (2%)
view
24 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
440:464 (2%)
669:693 (2%)
view
24 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
440:464 (2%)
621:645 (2%)
view
22 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
716:739 (2%)
847:870 (2%)
view
21 x 2 attacks
datasets
privacy_attacks.py
__init__.py
217:242 (2%)
268:294 (8%)
view
10 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
263:272 (1%)
292:301 (1%)
view
9 x 2 attacks
datasets
privacy_attacks.py
__init__.py
168:178 (1%)
201:212 (3%)
view
9 x 2 attacks
datasets
privacy_attacks.py
__init__.py
193:205 (1%)
234:246 (3%)
view
9 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
572:584 (1%)
599:611 (1%)
view
9 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
942:954 (1%)
992:1004 (1%)
view
8 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
440:447 (<1%)
910:917 (<1%)
view
8 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
621:628 (<1%)
847:854 (<1%)
view
8 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
847:854 (<1%)
1050:1057 (<1%)
view
8 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
621:628 (<1%)
716:723 (<1%)
view
8 x 2 utils
utils
trainer.py
trainer.py
240:250 (4%)
269:278 (4%)
view
8 x 2 attacks
attacks
privacy_attacks.py
privacy_attacks.py
847:854 (<1%)
910:917 (<1%)
view