android / security-certification-resources
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
  • 11% duplication:
    • 10,742 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,236 duplicated lines
  • 53 duplicates
system11% (1,236 lines)
Duplication per Extension
java12% (1,071 lines)
py9% (165 lines)
Duplication per Component (primary)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/utils27% (531 lines)
niap-cc/Permissions/TransactIds/app/src/main/java/com/android/certifications/niap/permissions/transactids41% (286 lines)
ioXt/uraniborg/scripts/python9% (165 lines)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions4% (155 lines)
ioXt/uraniborg/AndroidStudioProject/Hubble/app/src/main/java/com/uraniborg/hubble3% (28 lines)
niap-cc/NIAPSecExample/app/src/main/java/com/android/certifications/niap4% (24 lines)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/config9% (22 lines)
niap-cc/Permissions/Companion/app/src/main/java/com/android/certifications/niap/permissions/companion1% (15 lines)
niap-cc/MdfppFcsSrvExt1/app/src/main/java/com/android/certifications/niap/mdfppfcssrvext113% (10 lines)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/activities0% (0 lines)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/log0% (0 lines)
niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/services0% (0 lines)

Duplication Between Components (50+ lines)

G niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/utils niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/utils niap-cc/Permissions/TransactIds/app/src/main/java/com/android/certifications/niap/permissions/transactids niap-cc/Permissions/TransactIds/app/src/main/java/com/android/certifications/niap/permissions/transactids niap-cc/Permissions/Tester/app/src/main/java/com/android/certifications/niap/permissions/utils--niap-cc/Permissions/TransactIds/app/src/main/java/com/android/certifications/niap/permissions/transactids 572

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 53 duplicates...
Size#FoldersFilesLinesCode
286 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Tran...permissions/transactids
Transacts.java
Transacts.java
50:389 (27%)
37:374 (94%)
view
22 x 2 niap-cc/Permissions/Test...ations/niap/permissions
niap-cc/Permissions/Test...ations/niap/permissions
BasePermissionTester.java
SignaturePermissionTester.java
153:178 (19%)
3023:3048 (1%)
view
21 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
835:861 (1%)
1122:1148 (1%)
view
14 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
489:506 (1%)
740:757 (1%)
view
13 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
744:759 (1%)
1030:1045 (1%)
view
12 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
450:465 (1%)
700:715 (1%)
view
11 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
493:506 (1%)
1030:1043 (1%)
view
11 x 2 niap-cc/Permissions/Test...ations/niap/permissions
niap-cc/Permissions/Test...ations/niap/permissions
GmsPermissionTester.java
GmsPermissionTester.java
232:248 (3%)
305:321 (3%)
view
11 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
506:518 (1%)
766:778 (1%)
view
10 x 2 ioXt/uraniborg/scripts/python
ioXt/uraniborg/scripts/python
automate_observation.py
automate_observation.py
335:345 (2%)
420:430 (2%)
view
10 x 2 niap-cc/MdfppFcsSrvExt1/...ns/niap/mdfppfcssrvext1
niap-cc/NIAPSecExample/a...oid/certifications/niap
TestUtil.java
TestUtil.java
39:54 (30%)
30:45 (83%)
view
9 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
577:587 (<1%)
834:844 (<1%)
view
9 x 2 ioXt/uraniborg/scripts/python
ioXt/uraniborg/scripts/python
automate_observation.py
parse_android_manifest.py
72:92 (2%)
61:81 (10%)
view
9 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
410:420 (<1%)
655:665 (<1%)
view
9 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
800:811 (<1%)
1088:1099 (<1%)
view
8 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
614:623 (<1%)
875:884 (<1%)
view
8 x 2 niap-cc/Permissions/Test.../niap/permissions/utils
niap-cc/Permissions/Test.../niap/permissions/utils
Transacts.java
Transacts.java
578:587 (<1%)
1122:1131 (<1%)
view
8 x 2 ioXt/uraniborg/scripts/python
ioXt/uraniborg/scripts/python
device_scoring.py
parse_android_manifest.py
77:95 (5%)
61:79 (9%)
view
8 x 2 niap-cc/Permissions/Comp...p/permissions/companion
niap-cc/Permissions/Test...niap/permissions/config
MainActivity.java
RuntimeDependentPermissionConfigurati...
337:346 (3%)
119:128 (11%)
view
8 x 2 ioXt/uraniborg/scripts/python
ioXt/uraniborg/scripts/python
automate_observation.py
device_scoring.py
72:90 (2%)
77:95 (5%)
view