facebookresearch / theseus
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
  • 8% duplication:
    • 4,025 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 353 duplicated lines
  • 36 duplicates
system8% (353 lines)
Duplication per Extension
py7% (255 lines)
cu28% (98 lines)
Duplication per Component (primary)
theseus/extlib15% (98 lines)
theseus/optimizer/nonlinear25% (96 lines)
theseus/optimizer/linear21% (51 lines)
theseus/geometry6% (44 lines)
theseus/core4% (30 lines)
theseus/optimizer7% (20 lines)
theseus/embodied/motionmodel4% (14 lines)
ROOT0% (0 lines)
tutorials/data/motion_planning_2d0% (0 lines)
theseus0% (0 lines)
theseus/optimizer/autograd0% (0 lines)
theseus/embodied/misc0% (0 lines)
theseus/embodied0% (0 lines)
theseus/embodied/kinematics0% (0 lines)
theseus/embodied/measurements0% (0 lines)
theseus/embodied/collision0% (0 lines)
theseus/utils0% (0 lines)
Longest Duplicates
The list of 20 longest duplicates.
See data for all 36 duplicates...
Size#FoldersFilesLinesCode
23 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
gauss_newton.py
levenberg_marquardt.py
18:40 (88%)
20:42 (48%)
view
16 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
175:191 (4%)
250:266 (4%)
view
14 x 2 theseus/optimizer/linear
theseus/optimizer/linear
dense_solver.py
dense_solver.py
123:137 (11%)
142:156 (11%)
view
13 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
86:99 (3%)
325:338 (3%)
view
13 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
86:99 (3%)
175:188 (3%)
view
13 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
86:99 (3%)
250:263 (3%)
view
13 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
175:188 (3%)
325:338 (3%)
view
13 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
250:263 (3%)
325:338 (3%)
view
11 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
levenberg_marquardt.py
nonlinear_least_squares.py
32:42 (23%)
35:45 (36%)
view
11 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
gauss_newton.py
nonlinear_least_squares.py
30:40 (42%)
35:45 (36%)
view
9 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
148:157 (2%)
225:234 (2%)
view
9 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
nonlinear_least_squares.py
nonlinear_optimizer.py
25:33 (30%)
66:74 (3%)
view
8 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
gauss_newton.py
nonlinear_least_squares.py
21:28 (30%)
24:31 (26%)
view
8 x 2 theseus/optimizer/linear
theseus/optimizer/nonlinear
linear_optimizer.py
nonlinear_optimizer.py
26:33 (13%)
61:68 (3%)
view
8 x 2 theseus/optimizer/linear
theseus/optimizer/nonlinear
linear_optimizer.py
nonlinear_optimizer.py
58:65 (13%)
183:190 (3%)
view
8 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
225:233 (2%)
299:307 (2%)
view
8 x 2 theseus/extlib
theseus/extlib
cu
mat_mult.cu
mat_mult.cu
148:156 (2%)
299:307 (2%)
view
8 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
levenberg_marquardt.py
nonlinear_least_squares.py
23:30 (17%)
24:31 (26%)
view
7 x 2 theseus/embodied/motionmodel
theseus/embodied/motionmodel
double_integrator.py
double_integrator.py
15:21 (4%)
168:174 (4%)
view
7 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
gauss_newton.py
nonlinear_optimizer.py
22:28 (26%)
66:72 (2%)
view
Duplicated Units
The list of top 1 duplicated units.
See data for all 1 unit duplicate
Size#FoldersFilesLinesCode
10 x 2 theseus/optimizer/nonlinear
theseus/optimizer/nonlinear
gauss_newton.py
levenberg_marquardt.py
0:0 
0:0 
view