[GRASS-QA] GRASS QA: |resamp.c crosscorr.c bspline.h main.c | 19 clones | 2 monsters |5 warnings

soccerlab.info at gmail.com soccerlab.info at gmail.com
Thu May 20 16:08:10 EDT 2010


Hello ,

here's a report on your recent grass-SVN change for the revision : 42318 

ANALYSIS 

your changes to files/class/methods/functions : 

*****************************************************************
          File :/raster/r.resamp.bspline/resamp.c
*****************************************************************

          Function
P_Read_Raster_Region_Nulls(Begins at: 25, Ends at:110)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      14 |     * |      WARNING |        14 |
ParamNBR:     |       7 |    ** | BABY-MONSTER |         7 |
CalledNBR:    |       8 |       |           OK |         8 |
LOC:          |      86 |     * |      WARNING |        86 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
 metric are OUT OF RANGE!


P_Sparse_Raster_Points(Begins at: 112, Ends at:231)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      18 |     * |      WARNING |        18 |
ParamNBR:     |      15 |   *** |      MONSTER |        15 |
CalledNBR:    |      11 |       |           OK |        11 |
LOC:          |     120 |     * |      WARNING |       120 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       MONSTER           |
-----------------------------------------------------------+
 metric are OUT OF RANGE!


align_elaboration_box(Begins at: 235, Ends at:280)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       8 |       |           OK |         8 |
ParamNBR:     |       3 |     * |      WARNING |         3 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      46 |       |           OK |        46 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
 at least 1 values are close to an outlier please consider revising code!


align_interp_boxes(Begins at: 286, Ends at:405)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      16 |     * |      WARNING |        16 |
ParamNBR:     |       6 |    ** | BABY-MONSTER |         6 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |     120 |     * |      WARNING |       120 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
 metric are OUT OF RANGE!


Clone analysis:
This file has 4 potentially cloned functions:
  P_Sparse_Raster_Points  align_elaboration_box  align_interp_boxes

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/resamp.c clones of P_Read_Raster_Region_Nulls are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/resamp.c  P_Read_Raster_Region_Nulls

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/resamp.c clones of P_Sparse_Raster_Points are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/resamp.c  P_Sparse_Raster_Points

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/resamp.c clones of align_elaboration_box are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/resamp.c  align_elaboration_box

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/resamp.c clones of align_interp_boxes are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/resamp.c  align_interp_boxes

*****************************************************************
          File :/raster/r.resamp.bspline/crosscorr.c
*****************************************************************

          Function
alloc_Stats(Begins at: 77, Ends at:90)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       1 |       |           OK |         1 |
ParamNBR:     |       1 |       |           OK |         1 |
CalledNBR:    |       4 |       |           OK |         4 |
LOC:          |      14 |       |           OK |        14 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


calc_mean(Begins at: 34, Ends at:44)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       3 |       |           OK |         3 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      11 |       |           OK |        11 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


calc_root_mean_square(Begins at: 47, Ends at:61)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       3 |       |           OK |         3 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       2 |       |           OK |         2 |
LOC:          |      15 |       |           OK |        15 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


calc_standard_deviation(Begins at: 63, Ends at:75)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       2 |       |           OK |         2 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       5 |       |           OK |         5 |
LOC:          |      13 |       |           OK |        13 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


cross_correlation(Begins at: 120, Ends at:338)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      12 |     * |      WARNING |        12 |
ParamNBR:     |       4 |     * |      WARNING |         4 |
CalledNBR:    |      67 |    ** | BABY-MONSTER |        67 |
LOC:          |     219 |    ** | BABY-MONSTER |       219 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a  BABY-MONSTER           |
-----------------------------------------------------------+
 metric are OUT OF RANGE!


find_minimum(Begins at: 92, Ends at:106)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       3 |       |           OK |         3 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       0 |       |           OK |         0 |
LOC:          |      15 |       |           OK |        15 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


interpolation(Begins at: 341, Ends at:364)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       2 |       |           OK |         2 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |       4 |       |           OK |         4 |
LOC:          |      24 |       |           OK |        24 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a            OK           |
-----------------------------------------------------------+
metrics are OK


swap(Begins at: 108, Ends at:117)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |       1 |       |           OK |         1 |
ParamNBR:     |       3 |     * |      WARNING |         3 |
CalledNBR:    |       4 |       |           OK |         4 |
LOC:          |      10 |       |           OK |        10 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       WARNING           |
-----------------------------------------------------------+
 at least 1 values are close to an outlier please consider revising code!


Clone analysis:
This file has 14 potentially cloned functions:
  alloc_Stats  calc_mean  calc_mean  calc_root_mean_square  calc_root_mean_square  calc_standard_deviation  calc_standard_deviation  cross_correlation  find_minimum  find_minimum  interpolation  interpolation  swap

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of alloc_Stats are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  alloc_Stats
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  alloc_Stats

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of calc_mean are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  calc_mean
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  calc_mean

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of calc_root_mean_square are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  calc_root_mean_square
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  calc_root_mean_square

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of calc_standard_deviation are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  calc_standard_deviation
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  calc_standard_deviation

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of cross_correlation are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  cross_correlation

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of find_minimum are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  find_minimum
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  find_minimum

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of interpolation are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  interpolation
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/v.surf.bspline/crosscorr.c  interpolation

In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/crosscorr.c clones of swap are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/crosscorr.c  swap

*****************************************************************
          File :/raster/r.resamp.bspline/bspline.h
*****************************************************************

          Class
Param(Begins at: 29, Ends at:34)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |        |        |        |        |        |        |
+------------+--------+--------+--------+--------+--------+--------+



          Class
RasterPoint(Begins at: 36, Ends at:40)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |        |        |        |        |        |        |
+------------+--------+--------+--------+--------+--------+--------+



          Class
Stats(Begins at: 22, Ends at:27)
             +--------+--------+--------+--------+--------+--------+
             |    DIT |    NOC |    WMC |    RFC |    CBO |   LCOM |
+------------+--------+--------+--------+--------+--------+--------|
|NEW Metrics |      1 |      0 |      0 |      0 |      0 |      0 |
+------------+--------+--------+--------+--------+--------+--------|
|OLD Metrics |        |        |        |        |        |        |
+------------+--------+--------+--------+--------+--------+--------+



Clone analysis:
This file does not contain cloned functions

*****************************************************************
          File :/raster/r.resamp.bspline/main.c
*****************************************************************

          Function
main(Begins at: 27, Ends at:639)
--------------+---------+-------+--------------+-----------+
              |          New Metrics           |Old Metrics|
--------------+---------+-------+--------------+-----------+
Complexity:   |      48 |   *** |      MONSTER |        48 |
ParamNBR:     |       2 |       |           OK |         2 |
CalledNBR:    |     216 |   *** |      MONSTER |       216 |
LOC:          |     613 |   *** |      MONSTER |       613 |
--------------+---------+-------+--------------+-----------+
Conclusion:   | this function is a       MONSTER           |
-----------------------------------------------------------+
 metric are OUT OF RANGE!


Clone analysis:
This file has 1 potentially cloned functions:


In /data/project-manager/grass/grassSVN/grass/trunk/raster/r.resamp.bspline/main.c clones of main are:
          /data/project-manager/grass/grassSVN/grass/trunk/vector/lidar/r.resamp.bspline/main.c  main

____________________________________________


Threshold grass key metrics values at Thu May 20 16:07:58 EDT 2010 are:
----------------------+-----------+-----------+-----------+
                      | warning   | middle    | extrem    |
                      | limits    | limits    | limits    |
----------------------+-----------+-----------+-----------+
Complexity (Cyclo):   |        11 |        24 |        38 |
ParamNBR:             |         3 |         6 |         9 |
CalledNBR:            |        21 |        49 |        78 |
LOC:                  |        78 |       178 |       279 |
----------------------+-----------+-----------+-----------+



Measures (see below Web page for details) :
    -Complexity (Cyclo): a complexity index 
    -ParamNBR: number of passed parameters 
    -CalledNBR: number of called functions 
    -LOC: Lines Of Code 
    -Global analysis: based on 21 metrics(the fourth preceding include)

Message interpretation :
    OK : Nothing to say at all
    *  : this is getting close to be out of range, consider revising the code
    ** : this is a baby monster, you should revise this function
    ***: this is a monster, definitely you should revise this function

Conclusion interpretation :
    CORRECT     : if all metrics are situated before warning limits
    WARNING     : if 1 to more metrics are between warning and middle limits
    BABY_MONSTER: if 1 to more metrics are between middle and extreme limits
    MONSTERS    : if 1 to more metrics are in the extreme limits


_______________________________________________
Brought to you by :
	SOftware Cost-effective Change and Evolution Research (SOCCER) laboratory 

Please visite our web site on your project at :
    http://web.soccerlab.polymtl.ca/project-manager/grass-website/index.html


More information about the grass-qa mailing list