awslabs / kubeflow-manifests
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
  • 81% duplication:
    • 99,856 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 81,056 duplicated lines
  • 80,869 duplicates
system81% (81,056 lines)
Duplication per Extension
yaml81% (80,518 lines)
py59% (538 lines)
Duplication per Component (primary)
common/cert-manager98% (26,464 lines)
apps/kfserving95% (15,893 lines)
contrib/flink87% (6,712 lines)
contrib/spark95% (5,093 lines)
apps/xgboost-job75% (4,835 lines)
common/knative69% (4,604 lines)
common/istio-1-962% (4,275 lines)
apps/kfp-tekton90% (3,067 lines)
apps/pipeline93% (2,851 lines)
apps/jupyter67% (2,416 lines)
contrib/tektoncd48% (913 lines)
apps/tensorboard60% (505 lines)
contrib/feast45% (482 lines)
apps/katib33% (427 lines)
apps/profiles61% (371 lines)
distributions/aws20% (307 lines)
apps/mpi-job53% (225 lines)
apps/mxnet-job59% (217 lines)
contrib/dex-auth29% (187 lines)
apps/pytorch-job58% (168 lines)
apps/volumes-web-app64% (157 lines)
contrib/application31% (139 lines)
common/kubeflow-roles40% (134 lines)
apps/tf-training50% (128 lines)
apps/admission-webhook36% (119 lines)
common/dex25% (111 lines)
apps/centraldashboard13% (49 lines)
hack9% (40 lines)
contrib/basic-auth17% (34 lines)
contrib/modeldb8% (30 lines)
apps/kubebench12% (28 lines)
contrib/spartakus14% (19 lines)
common/oidc-authservice10% (19 lines)
contrib/seldon6% (18 lines)
common/istio22% (13 lines)
contrib/metacontroller5% (6 lines)
contrib/experimental0% (0 lines)
contrib/gatekeeper0% (0 lines)
common/kubeflow-namespace0% (0 lines)
common/user-namespace0% (0 lines)
ROOT0% (0 lines)
example0% (0 lines)

Duplication Between Components (50+ lines)

G apps/kfserving apps/kfserving contrib/spark contrib/spark apps/kfserving--contrib/spark 16216 apps/xgboost-job apps/xgboost-job apps/kfserving--apps/xgboost-job 2806 common/cert-manager common/cert-manager apps/kfserving--common/cert-manager 2319 contrib/flink contrib/flink apps/kfserving--contrib/flink 1953 apps/tensorboard apps/tensorboard apps/kfserving--apps/tensorboard 474 apps/profiles apps/profiles apps/kfserving--apps/profiles 750 common/knative common/knative apps/kfserving--common/knative 136 contrib/application contrib/application apps/kfserving--contrib/application 213 apps/kfp-tekton apps/kfp-tekton apps/pipeline apps/pipeline apps/kfp-tekton--apps/pipeline 5827 apps/kfp-tekton--common/cert-manager 145 apps/kfp-tekton--contrib/flink 155 apps/kfp-tekton--apps/tensorboard 122 apps/kfp-tekton--common/knative 256 apps/pipeline--common/cert-manager 127 apps/pipeline--contrib/flink 148 apps/pipeline--apps/tensorboard 122 apps/pipeline--common/knative 162 apps/jupyter apps/jupyter apps/jupyter--apps/kfserving 2865 apps/jupyter--contrib/spark 1518 apps/jupyter--apps/kfp-tekton 191 apps/jupyter--apps/pipeline 191 apps/jupyter--apps/xgboost-job 1314 apps/jupyter--common/cert-manager 1889 apps/jupyter--contrib/flink 1531 apps/jupyter--apps/tensorboard 761 apps/jupyter--apps/profiles 445 apps/jupyter--common/knative 172 apps/volumes-web-app apps/volumes-web-app apps/jupyter--apps/volumes-web-app 238 apps/xgboost-job--contrib/spark 1558 apps/xgboost-job--common/cert-manager 2407 apps/xgboost-job--contrib/flink 2106 common/cert-manager--contrib/spark 2060 common/cert-manager--contrib/flink 173 common/cert-manager--common/knative 286 common/kubeflow-roles common/kubeflow-roles common/cert-manager--common/kubeflow-roles 201 contrib/flink--contrib/spark 907 apps/tensorboard--apps/xgboost-job 138 apps/tensorboard--common/cert-manager 225 apps/tensorboard--contrib/flink 217 apps/tensorboard--common/knative 167 apps/tensorboard--apps/volumes-web-app 275 apps/profiles--contrib/flink 141 apps/profiles--apps/tensorboard 403 common/knative--contrib/flink 243 contrib/tektoncd contrib/tektoncd common/knative--contrib/tektoncd 586 apps/pytorch-job apps/pytorch-job apps/tf-training apps/tf-training apps/pytorch-job--apps/tf-training 178 common/istio-1-9 common/istio-1-9 apps/pytorch-job--common/istio-1-9 116 apps/tf-training--common/istio-1-9 116 apps/mxnet-job apps/mxnet-job apps/mxnet-job--apps/pytorch-job 166 apps/mpi-job apps/mpi-job apps/mpi-job--common/cert-manager 143

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 80,869 duplicates...
Size#FoldersFilesLinesCode
2494 x 2 contrib/spark/spark-operator/base
contrib/spark/spark-operator/base
scheduledsparkapplications.sparkopera...
sparkapplications.sparkoperator.k8s.i...
41:2534 (97%)
27:2520 (98%)
view
2027 x 2 apps/kfserving/upstream/crd
apps/kfserving/upstream/crd
serving.kubeflow.org_inferenceservice...
serving.kubeflow.org_inferenceservice...
51:2077 (13%)
2081:4107 (13%)
view
1995 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
8806:10800 (7%)
10802:12796 (7%)
view
1994 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
16833:18826 (7%)
18828:20821 (7%)
view
1979 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
12798:14776 (7%)
14796:16774 (7%)
view
1978 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
20823:22800 (7%)
22820:24797 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
8827:10718 (7%)
16853:18744 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
8827:10718 (7%)
18848:20739 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
12819:14710 (7%)
20843:22734 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
14817:16708 (7%)
20843:22734 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
12819:14710 (7%)
22840:24731 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
14817:16708 (7%)
22840:24731 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
10823:12714 (7%)
16853:18744 (7%)
view
1892 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
10823:12714 (7%)
18848:20739 (7%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
11094:12776 (6%)
13090:14772 (6%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
11094:12776 (6%)
15088:16770 (6%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
9098:10780 (6%)
13090:14772 (6%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
19119:20801 (6%)
21114:22796 (6%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
9098:10780 (6%)
15088:16770 (6%)
view
1683 x 2 common/cert-manager/cert-manager/base
common/cert-manager/cert-manager/base
cert-manager.yaml
cert-manager.yaml
19119:20801 (6%)
23111:24793 (6%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
238 x 2 apps/pipeline/upstream/b...ines-profile-controller
apps/kfp-tekton/upstream...ines-profile-controller
sync.py
sync.py
0:0 
0:0 
view
8 x 2 apps/pipeline/upstream/b...ines-profile-controller
apps/kfp-tekton/upstream...ines-profile-controller
sync.py
sync.py
0:0 
0:0 
view