X-Git-Url: http://nitlanguage.org diff --git a/tests/sav/nitmetrics_args1.res b/tests/sav/nitmetrics_args1.res index b357a2b..4540753 100644 --- a/tests/sav/nitmetrics_args1.res +++ b/tests/sav/nitmetrics_args1.res @@ -1,266 +1,597 @@ *** METRICS *** + +# MModules metrics + + ## project base_simple3 + `- group base_simple3 + mnoa: number of ancestor modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnoc: number of child modules + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 1 + mnod: number of descendant modules + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 1 + mdit: depth in module tree + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbi: number of introduction in module + avg: 7.0 + max: base_simple3 (7) + min: base_simple3 (7) + std: 0.0 + sum: 7 + mnbr: number of refinement in module + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbcc: number of concrete class in module (intro + redef) + avg: 4.0 + max: base_simple3 (4) + min: base_simple3 (4) + std: 0.0 + sum: 4 + mnbac: number of abstract class in module (intro + redef) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbic: number of interface in module (intro + redef) + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 1 + + ## project base_empty_module + `- group base_empty_module + mnoa: number of ancestor modules + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + mnop: number of parent modules + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + mnoc: number of child modules + avg: 1.0 + max: base_empty_module (1) + min: base_empty_module (1) + std: 0.0 + sum: 1 + mnod: number of descendant modules + avg: 1.0 + max: base_empty_module (1) + min: base_empty_module (1) + std: 0.0 + sum: 1 + mdit: depth in module tree + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + mnbi: number of introduction in module + avg: 1.0 + max: base_empty_module (1) + min: base_empty_module (1) + std: 0.0 + sum: 1 + mnbr: number of refinement in module + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + mnbcc: number of concrete class in module (intro + redef) + avg: 1.0 + max: base_empty_module (1) + min: base_empty_module (1) + std: 0.0 + sum: 1 + mnbac: number of abstract class in module (intro + redef) + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + mnbic: number of interface in module (intro + redef) + avg: 0.0 + max: base_empty_module (0) + min: base_empty_module (0) + std: 0.0 + sum: 0 + + ## global metrics + mnoa: number of ancestor modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnoc: number of child modules + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 2 + mnod: number of descendant modules + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 2 + mdit: depth in module tree + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbi: number of introduction in module + avg: 4.0 + max: base_simple3 (7) + min: base_empty_module (1) + std: 3.0 + sum: 8 + mnbr: number of refinement in module + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbcc: number of concrete class in module (intro + redef) + avg: 2.0 + max: base_simple3 (4) + min: base_empty_module (1) + std: 1.581 + sum: 5 + mnbac: number of abstract class in module (intro + redef) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnbic: number of interface in module (intro + redef) + avg: 0.0 + max: base_simple3 (1) + min: base_empty_module (0) + std: 0.707 + sum: 1 + +# MClasses metrics + + ## project base_simple3 + `- group base_simple3 + cnoa: number of ancestor classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnop: number of parent classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnoc: number of child classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cnod: number of descendant classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cdit: depth in class tree + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 4.0 + max: C (8) + min: Object (3) + std: 2.0 + sum: 34 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbip: number of introduced properties + avg: 2.0 + max: C (5) + min: Bool (0) + std: 1.69 + sum: 16 + cnbrp: number of redefined properties + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbhp: number of inherited properties + avg: 2.0 + max: Bool (3) + min: Object (0) + std: 1.195 + sum: 18 + + ## project base_empty_module + `- group base_empty_module + cnoa: number of ancestor classes + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnop: number of parent classes + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnoc: number of child classes + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnod: number of descendant classes + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cdit: depth in class tree + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbp: number of accessible properties (inherited + local) + avg: 1.0 + max: Object (1) + min: Object (1) + std: 0.0 + sum: 1 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbip: number of introduced properties + avg: 1.0 + max: Object (1) + min: Object (1) + std: 0.0 + sum: 1 + cnbrp: number of redefined properties + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbhp: number of inherited properties + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + + ## global metrics + cnoa: number of ancestor classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.866 + sum: 6 + cnop: number of parent classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.866 + sum: 6 + cnoc: number of child classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.121 + sum: 6 + cnod: number of descendant classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.121 + sum: 6 + cdit: depth in class tree + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.866 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 4.0 + max: C (8) + min: Object (1) + std: 2.151 + sum: 35 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbip: number of introduced properties + avg: 2.0 + max: C (5) + min: Bool (0) + std: 1.62 + sum: 17 + cnbrp: number of redefined properties + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbhp: number of inherited properties + avg: 2.0 + max: Bool (3) + min: Object (0) + std: 1.323 + sum: 18 --- Poset metrics --- ## Module importation hierarchy -Number of nodes: 1 -Number of edges: 1 (1.00 per node) -Number of direct edges: 0 (0.0 per node) +Number of nodes: 3 +Number of edges: 5 (1.66 per node) +Number of direct edges: 2 (0.66 per node) Distribution of greaters - population: 1 + population: 3 minimum value: 1 - maximum value: 1 - total value: 1 - average value: 1.00 + maximum value: 3 + total value: 5 + average value: 1.66 distribution: - <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%) + <=1: sub-population=2 (66.66%); cumulated value=2 (40.00%) + <=4: sub-population=1 (33.33%); cumulated value=3 (60.00%) Distribution of direct greaters - population: 1 + population: 3 minimum value: 0 - maximum value: 0 - total value: 0 - average value: 0.0 + maximum value: 2 + total value: 2 + average value: 0.66 distribution: - <=0: sub-population=1 (100.00%); cumulated value=0 (na%) + <=0: sub-population=2 (66.66%); cumulated value=0 (0.0%) + <=2: sub-population=1 (33.33%); cumulated value=2 (100.00%) Distribution of smallers - population: 1 + population: 3 minimum value: 1 - maximum value: 1 - total value: 1 - average value: 1.00 + maximum value: 2 + total value: 5 + average value: 1.66 distribution: - <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%) + <=1: sub-population=1 (33.33%); cumulated value=1 (20.00%) + <=2: sub-population=2 (66.66%); cumulated value=4 (80.00%) Distribution of direct smallers - population: 1 + population: 3 minimum value: 0 - maximum value: 0 - total value: 0 - average value: 0.0 - distribution: - <=0: sub-population=1 (100.00%); cumulated value=0 (na%) -## Module nesting hierarchy -Number of nodes: 1 -Number of edges: 1 (1.00 per node) -Number of direct edges: 0 (0.0 per node) -Distribution of greaters - population: 1 - minimum value: 1 maximum value: 1 - total value: 1 - average value: 1.00 + total value: 2 + average value: 0.66 distribution: - <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%) -Distribution of direct greaters - population: 1 - minimum value: 0 - maximum value: 0 - total value: 0 - average value: 0.0 - distribution: - <=0: sub-population=1 (100.00%); cumulated value=0 (na%) -Distribution of smallers - population: 1 - minimum value: 1 - maximum value: 1 - total value: 1 - average value: 1.00 - distribution: - <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%) -Distribution of direct smallers - population: 1 - minimum value: 0 - maximum value: 0 - total value: 0 - average value: 0.0 - distribution: - <=0: sub-population=1 (100.00%); cumulated value=0 (na%) + <=0: sub-population=1 (33.33%); cumulated value=0 (0.0%) + <=1: sub-population=2 (66.66%); cumulated value=2 (100.00%) ## Classdef hierarchy Number of nodes: 8 -Number of edges: 22 (2.75 per node) -Number of direct edges: 7 (0.87 per node) +Number of edges: 14 (1.75 per node) +Number of direct edges: 6 (0.75 per node) Distribution of greaters population: 8 - minimum value: 2 - maximum value: 3 - total value: 22 - average value: 2.75 + minimum value: 1 + maximum value: 2 + total value: 14 + average value: 1.75 distribution: - <=2: sub-population=2 (25.00%); cumulated value=4 (18.18%) - <=4: sub-population=6 (75.00%); cumulated value=18 (81.81%) + <=1: sub-population=2 (25.00%); cumulated value=2 (14.28%) + <=2: sub-population=6 (75.00%); cumulated value=12 (85.71%) Distribution of direct greaters population: 8 minimum value: 0 maximum value: 1 - total value: 7 - average value: 0.87 + total value: 6 + average value: 0.75 distribution: - <=0: sub-population=1 (12.50%); cumulated value=0 (0.0%) - <=1: sub-population=7 (87.50%); cumulated value=7 (100.00%) + <=0: sub-population=2 (25.00%); cumulated value=0 (0.0%) + <=1: sub-population=6 (75.00%); cumulated value=6 (100.00%) Distribution of smallers population: 8 minimum value: 1 - maximum value: 8 - total value: 22 - average value: 2.75 + maximum value: 7 + total value: 14 + average value: 1.75 distribution: - <=1: sub-population=6 (75.00%); cumulated value=6 (27.27%) - <=8: sub-population=2 (25.00%); cumulated value=16 (72.72%) + <=1: sub-population=7 (87.50%); cumulated value=7 (50.00%) + <=8: sub-population=1 (12.50%); cumulated value=7 (50.00%) Distribution of direct smallers population: 8 minimum value: 0 maximum value: 6 - total value: 7 - average value: 0.87 + total value: 6 + average value: 0.75 distribution: - <=0: sub-population=6 (75.00%); cumulated value=0 (0.0%) - <=1: sub-population=1 (12.50%); cumulated value=1 (14.28%) - <=8: sub-population=1 (12.50%); cumulated value=6 (85.71%) + <=0: sub-population=7 (87.50%); cumulated value=0 (0.0%) + <=8: sub-population=1 (12.50%); cumulated value=6 (100.00%) ## Class hierarchy -Number of nodes: 7 -Number of edges: 13 (1.85 per node) -Number of direct edges: 6 (0.85 per node) +Number of nodes: 8 +Number of edges: 14 (1.75 per node) +Number of direct edges: 6 (0.75 per node) Distribution of greaters - population: 7 + population: 8 minimum value: 1 maximum value: 2 - total value: 13 - average value: 1.85 + total value: 14 + average value: 1.75 distribution: - <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%) - <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%) + <=1: sub-population=2 (25.00%); cumulated value=2 (14.28%) + <=2: sub-population=6 (75.00%); cumulated value=12 (85.71%) Distribution of direct greaters - population: 7 + population: 8 minimum value: 0 maximum value: 1 total value: 6 - average value: 0.85 + average value: 0.75 distribution: - <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%) - <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%) + <=0: sub-population=2 (25.00%); cumulated value=0 (0.0%) + <=1: sub-population=6 (75.00%); cumulated value=6 (100.00%) Distribution of smallers - population: 7 + population: 8 minimum value: 1 maximum value: 7 - total value: 13 - average value: 1.85 + total value: 14 + average value: 1.75 distribution: - <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%) - <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%) + <=1: sub-population=7 (87.50%); cumulated value=7 (50.00%) + <=8: sub-population=1 (12.50%); cumulated value=7 (50.00%) Distribution of direct smallers - population: 7 + population: 8 minimum value: 0 maximum value: 6 total value: 6 - average value: 0.85 + average value: 0.75 distribution: - <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%) - <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%) ---- Global Summary metrics --- -(NMD) Number of Modules: 1 -(NC) Number of Classes: 4 -(NI) Number of Interfaces: 1 -(NAC) Number of Abstract Classes: 0 -(NGC) Number of Generic Classes: 0 -(NGI) Number of Generic Interfaces: 0 ---- (SL) Std-Lib Summary metrics --- -(NMDSL) Number of Modules: 0 -(NCSL) Number of Classes: 0 -(NISL) Number of Interfaces: 0 -(NACSL) Number of Abstract Classes: 0 -(NGCSL) Number of Generic Classes: 0 -(NGISL) Number of Generic Interfaces: 0 ---- (UD) User-Defined Summary metrics --- -(NMDUD) Number of Modules: 1 -(NCUD) Number of Classes: 4 -(NIUD) Number of Interfaces: 1 -(NACUD) Number of Abstract Classes: 0 -(NGCUD) Number of Generic Classes: 0 -(NGIUD) Number of Generic Interfaces: 0 - ---- Global Inheritance metrics --- -(DIT) Global Depth in Inheritance Tree: 0.85 -(DUI) Proportion of types inheriting another type other than Object: 0.0% -(CCDUI) Proportion of classes that extend some other class: 0.0% -(CIDUI) Proportion of classes that implement some other interface: 0.0% -(IIDUI) Proportion of interfaces that extend some other interface: 0.0% -(IF) Proportion of types Inherited From: 20.00% -(CCIF) Proportion of classes extended by class: 0.0% -(ICIF) Proportion of interfaces implemented by class: 100.00% -(IIIF) Proportion of interfaces extended by interface: 100.00% - ---- (SL -> *) Std-Lib Inheritance metrics --- -(SLDUI) Proportion of SL types inheriting another type other than Object: na% -(SLCCDUI) Proportion of SL classes that extend some other class: na% -(SLCIDUI) Proportion of SL classes that implement some other interface: na% -(SLIIDUI) Proportion of SL interfaces that extend some other interface: na% -(SLIF) Proportion of SL types Inherited From: na% -(SLCCIF) Proportion of SL classes extended by class: na% -(SLICIF) Proportion of SL interfaces implemented by class: na% -(SLIIIF) Proportion of SL interfaces extended by interface: na% - ---- (SL -> SL) Std-Lib Inheritance metrics --- -(SLIFSL) Proportion of SL types Inherited From by SL type: na% -(SLCCIFSL) Proportion of SL classes extended by SL class: na% -(SLICIFSL) Proportion of SL interfaces implemented by SL class: na% -(SLIIIFSL) Proportion of SL interfaces extended by SL interface: na% - ---- (SL->UD) Std-Lib Inheritance metrics --- -(SLIFUD) Proportion of SL types Inherited From by UD type: na% -(SLCCIFUD) Proportion of SL classes extended by UD class: na% -(SLICIFUD) Proportion of SL interfaces implemented by UD class: na% -(SLIIIFUD) Proportion of SL interfaces extended by UD interface: na% - ---- (UD->*) User-Defined Inheritance metrics --- -(UDDUI) Proportion of UD types inheriting another type other than Object: 0.0% -(UDCCDUI) Proportion of UD classes that extend some other class: 0.0% -(UDCIDUI) Proportion of UD classes that implement some other interface: 0.0% -(UDIIDUI) Proportion of UD interfaces that extend some other interface: 0.0% -(UDIF) Proportion of UD types Inherited From: 20.00% -(UDCCIF) Proportion of UD classes extended by class: 0.0% -(UDICIF) Proportion of UD interfaces implemented by class: 100.00% -(UDIIIF) Proportion of UD interfaces extended by interface: 100.00% - ---- (UD -> SL) User-Defined Inheritance metrics --- -(UDDUISL) Proportion of UD types inheriting another type other SL type: 0.0% -(UDCCDUISL) Proportion of UD classes that extend some other SL class: 0.0% -(UDCIDUISL) Proportion of UD classes that implement some other SL interface: 0.0% -(UDIIDUISL) Proportion of UD interfaces that extend some other SL interface: 0.0% - ---- (UD -> UD) User-Defined Inheritance metrics --- -(UDDUIUD) Proportion of UD types inheriting another type other UD type: 0.0% -(UDCCDUIUD) Proportion of UD classes that extend some other UD class: 0.0% -(UDCIDUIUD) Proportion of UD classes that implement some other UD interface: 0.0% -(UDIIDUIUD) Proportion of UD interfaces that extend some other UD interface: 0.0% -(UDIFUD) Proportion of UD types Inherited From: 20.00% -(UDCCIFUD) Proportion of UD classes extended by UD class: 0.0% -(UDICIFUD) Proportion of UD interfaces implemented by UD class: 100.00% -(UDIIIFUD) Proportion of UD interfaces extended by UD interface: 100.00% + <=0: sub-population=7 (87.50%); cumulated value=0 (0.0%) + <=8: sub-population=1 (12.50%); cumulated value=6 (100.00%) +--- AST Metrics --- +## All nodes of the AST + population: 47 + minimum value: 1 + maximum value: 39 + total value: 267 + average value: 5.68 + distribution: + <=1: sub-population=10 (21.27%); cumulated value=10 (3.74%) + <=2: sub-population=9 (19.14%); cumulated value=18 (6.74%) + <=4: sub-population=10 (21.27%); cumulated value=34 (12.73%) + <=8: sub-population=9 (19.14%); cumulated value=54 (20.22%) + <=16: sub-population=5 (10.63%); cumulated value=55 (20.59%) + <=32: sub-population=3 (6.38%); cumulated value=57 (21.34%) + <=64: sub-population=1 (2.12%); cumulated value=39 (14.60%) + list: + TId: 39 (14.60%) + APublicVisibility: 20 (7.49%) + AListExprs: 19 (7.11%) + ACallExpr: 18 (6.74%) + TClassid: 16 (5.99%) + TKwend: 10 (3.74%) + TNumber: 10 (3.74%) + ADecIntExpr: 10 (3.74%) + AType: 9 (3.37%) + ASignature: 8 (2.99%) + ... + ASelfExpr: 1 (0.37%) + ACallAssignExpr: 1 (0.37%) + TKwself: 1 (0.37%) + AReturnExpr: 1 (0.37%) + AInterfaceClasskind: 1 (0.37%) + TKwinterface: 1 (0.37%) + TKwreturn: 1 (0.37%) + AInternMethPropdef: 1 (0.37%) + AMainMethPropdef: 1 (0.37%) + AMainClassdef: 1 (0.37%) +## All identifiers of the AST + population: 19 + minimum value: 1 + maximum value: 11 + total value: 55 + average value: 2.89 + distribution: + <=1: sub-population=1 (5.26%); cumulated value=1 (1.81%) + <=2: sub-population=13 (68.42%); cumulated value=26 (47.27%) + <=4: sub-population=3 (15.78%); cumulated value=10 (18.18%) + <=8: sub-population=1 (5.26%); cumulated value=7 (12.72%) + <=16: sub-population=1 (5.26%); cumulated value=11 (20.00%) + list: + output: 11 (20.00%) + Int: 7 (12.72%) + run: 4 (7.27%) + c: 3 (5.45%) + val: 3 (5.45%) + i: 2 (3.63%) + bar: 2 (3.63%) + foo: 2 (3.63%) + val2: 2 (3.63%) + val1: 2 (3.63%) + C: 2 (3.63%) + v: 2 (3.63%) + baz: 2 (3.63%) + a: 2 (3.63%) + A: 2 (3.63%) + B: 2 (3.63%) + b: 2 (3.63%) + Object: 2 (3.63%) + Bool: 1 (1.81%) --- Metrics of refinement usage --- -Number of modules: 1 +Number of modules: 3 -Number of classes: 7 - Number of interface kind: 1 (14.28%) - Number of enum kind: 2 (28.57%) - Number of class kind: 4 (57.14%) +Number of classes: 8 + Number of interface kind: 1 (12.50%) + Number of enum kind: 2 (25.00%) + Number of class kind: 5 (62.50%) Number of class definitions: 8 -Number of refined classes: 1 (14.28%) -Average number of class refinments by classes: 0.14 -Average number of class refinments by refined classes: 1.00 +Number of refined classes: 0 (0.0%) +Average number of class refinments by classes: 0.0 +Average number of class refinments by refined classes: na -Number of properties: 19 - Number of MAttribute: 3 (15.78%) - Number of MMethod: 16 (84.21%) +Number of properties: 20 + Number of MAttribute: 3 (15.00%) + Number of MMethod: 17 (85.00%) -Number of property definitions: 19 +Number of property definitions: 20 Number of redefined properties: 0 (0.0%) Average number of property redefinitions by property: 0.0 Average number of property redefinitions by redefined property: na --- Metrics of the explitic static types --- Total number of explicit static types: 9 -Most used types: - Int: 6 - C: 1 - B: 1 - A: 1 Statistics of type usage: population: 4 minimum value: 1 @@ -270,27 +601,487 @@ Statistics of type usage: distribution: <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%) <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%) ---- Sends on Nullable Reciever --- -Total number of sends: 19 -Number of sends on a nullable receiver: 0 (0.0%) -Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) + list: + Int: 6 (66.66%) + C: 1 (11.11%) + B: 1 (11.11%) + A: 1 (11.11%) --- Explicit vs. Implicit Self --- Total number of self: 5 Total number of implicit self: 4 (80.00%) --- Construction of tables --- -Number of runtime classes: 6 (excluding interfaces and abstract classes) -Average number of composing class definition by runtime class: 3.00 -Total size of tables (classes and instances): 34 (not including stuff like info for subtyping or call-next-method) -Average size of table by runtime class: 5.66 -Values never redefined: 34 (100.00%) ---- RTA metrics --- -Number of live runtime types (instantied resolved type): 6 - Sys Bool Int A B C -Number of live method definitions: 14 -Number of live customized method definitions: 14 -Number of live runtime cast types (ie used in as and isa): 0 - +Number of runtime classes: 7 (excluding interfaces and abstract classes) +Average number of composing class definition by runtime class: 1.85 +Total size of tables (classes and instances): 35 (not including stuff like info for subtyping or call-next-method) +Average size of table by runtime class: 5.00 +Values never redefined: 35 (100.00%) + +# Mendel metrics + large mclasses (threshold: 2.195) + B: 3 + C: 3 + budding mclasses (threshold: 0.869) + B: 1.0 + C: 1.0 + blooming mclasses (threshold: 2.388) + B: 3.0 + C: 3.0 + blooming mclasses (threshold: 2.388) + B: 3.0 + C: 3.0 +generating out/nitmetrics_args1.write/project_hierarchy.dot +generating out/nitmetrics_args1.write/module_hierarchy.dot + +# Nullable metrics + + ## project base_simple3 + `- group base_simple3 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbna: number of accessible nullable attributes (inherited + local) -- nothing + sum: 0 + + ## project base_empty_module + `- group base_empty_module + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbna: number of accessible nullable attributes (inherited + local) -- nothing + sum: 0 + + ## global metrics + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnbna: number of accessible nullable attributes (inherited + local) -- nothing + sum: 0 +--- Sends on Nullable Receiver --- +Total number of sends: 19 +Number of sends on a nullable receiver: 0 (0.0%) +Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) + +# Inheritance metrics + + ## project base_simple3 + `- group base_simple3 + cnoac: number of class_kind ancestor + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnopc: number of class_kind parent + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnocc: number of class_kind children + avg: 0.0 + max: Object (4) + min: Bool (0) + std: 1.512 + sum: 4 + cnodc: number of class_kind descendants + avg: 0.0 + max: Object (4) + min: Bool (0) + std: 1.512 + sum: 4 + cnopi: number of interface_kind parent + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnoci: number of interface_kind children + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnodi: number of interface_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditc: depth in class tree following only class, abstract, extern kind + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditi: depth in class tree following only interface_kind + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + mdui: proportion of mclass defined using inheritance (has other parent than Object) + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mduic: proportion of class_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mduii: proportion of interface_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mif: proportion of mclass inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + std: 0.0 + sum: 0.143 + mifc: proportion of class_kind inherited from + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mifi: proportion of interface_kind inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + std: 0.0 + sum: 0.143 + + ## project base_empty_module + `- group base_empty_module + cnoac: number of class_kind ancestor + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnopc: number of class_kind parent + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnocc: number of class_kind children + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnodc: number of class_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnopi: number of interface_kind parent + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnoci: number of interface_kind children + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnodi: number of interface_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditc: depth in class tree following only class, abstract, extern kind + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditi: depth in class tree following only interface_kind + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + mdui: proportion of mclass defined using inheritance (has other parent than Object) + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + mduic: proportion of class_kind defined using inheritance + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + mduii: proportion of interface_kind defined using inheritance + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + mif: proportion of mclass inherited from + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + mifc: proportion of class_kind inherited from + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + mifi: proportion of interface_kind inherited from + avg: 0.0 + max: base_empty_module (0.0) + min: base_empty_module (0.0) + std: 0.0 + sum: 0.0 + + ## global metrics + cnoac: number of class_kind ancestor + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnopc: number of class_kind parent + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnocc: number of class_kind children + avg: 0.0 + max: Object (4) + min: Bool (0) + std: 1.414 + sum: 4 + cnodc: number of class_kind descendants + avg: 0.0 + max: Object (4) + min: Bool (0) + std: 1.414 + sum: 4 + cnopi: number of interface_kind parent + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.866 + sum: 6 + cnoci: number of interface_kind children + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cnodi: number of interface_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditc: depth in class tree following only class, abstract, extern kind + avg: 0.0 + max: Object (0) + min: Object (0) + std: 0.0 + sum: 0 + cditi: depth in class tree following only interface_kind + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.866 + sum: 6 + mdui: proportion of mclass defined using inheritance (has other parent than Object) + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mduic: proportion of class_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mduii: proportion of interface_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mif: proportion of mclass inherited from + avg: 0.071 + max: base_simple3 (0.143) + min: base_empty_module (0.0) + std: 0.071 + sum: 0.143 + mifc: proportion of class_kind inherited from + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + std: 0.0 + sum: 0.0 + mifi: proportion of interface_kind inherited from + avg: 0.071 + max: base_simple3 (0.143) + min: base_empty_module (0.0) + std: 0.071 + sum: 0.143 + +# RTA metrics + + ## Live instances by mainmodules + mnlc: number of live mclasses in a mmodule + avg: 6.0 + max: base_simple3 (6) + min: base_simple3 (6) + std: 0.0 + sum: 6 + mnlt: number of live mtypes in a mmodule + avg: 6.0 + max: base_simple3 (6) + min: base_simple3 (6) + std: 0.0 + sum: 6 + mnct: number of live cast mtypes in a mmodule + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + mnli: number of live instances in a mmodule + avg: 17.0 + max: base_simple3 (17) + min: base_simple3 (17) + std: 0.0 + sum: 17 + mnlm: number of live methods in a mmodule + avg: 14.0 + max: base_simple3 (14) + min: base_simple3 (14) + std: 0.0 + sum: 14 + mnlmd: number of live method definitions in a mmodule + avg: 14.0 + max: base_simple3 (14) + min: base_simple3 (14) + std: 0.0 + sum: 14 + mnldd: number of dead method definitions in a mmodule + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 + + ## Total live instances by mclasses + cnli: number of live instances for a mclass + avg: 2.0 + max: Int (12) + min: Sys (1) + std: 4.183 + sum: 17 + cnlc: number of live cast for a mclass type -- nothing + sum: 0 + + ## Total live instances by mtypes + tnli: number of live instances for a mtype + avg: 2.0 + max: Int (12) + min: Sys (1) + std: 4.183 + sum: 17 + tnlc: number of live casts to a mtype -- nothing + sum: 0 + + ## MType complexity + tags: arity of generic signature + avg: 0.0 + max: Sys (0) + min: Sys (0) + std: 0.0 + sum: 0 + tdos: depth of generic signature + avg: 0.0 + max: Sys (0) + min: Sys (0) + std: 0.0 + sum: 0 + + ## Callsites +* 22 live callsites +MMethodDef locally designated (by number of CallSites) + population: 13 + minimum value: 1 + maximum value: 10 + total value: 22 + average value: 1.69 + distribution: + <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%) + <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%) + list: + base_simple3#Int#output: 10 (45.45%) + base_simple3#B#val: 1 (4.54%) + base_simple3#B#val=: 1 (4.54%) + base_simple3#C#val2: 1 (4.54%) + base_simple3#C#val1: 1 (4.54%) + ... + base_simple3#A#init: 1 (4.54%) + base_simple3#Object#baz: 1 (4.54%) + base_simple3#Object#bar: 1 (4.54%) + base_simple3#Object#foo: 1 (4.54%) + base_simple3#C#init: 1 (4.54%) +MMethodDef possibly invoked at runtime (by number of CallSites) + population: 13 + minimum value: 1 + maximum value: 10 + total value: 22 + average value: 1.69 + distribution: + <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%) + <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%) + list: + base_simple3#Int#output: 10 (45.45%) + base_simple3#B#val: 1 (4.54%) + base_simple3#B#val=: 1 (4.54%) + base_simple3#C#val2: 1 (4.54%) + base_simple3#C#val1: 1 (4.54%) + ... + base_simple3#A#init: 1 (4.54%) + base_simple3#Object#baz: 1 (4.54%) + base_simple3#Object#bar: 1 (4.54%) + base_simple3#Object#foo: 1 (4.54%) + base_simple3#C#init: 1 (4.54%) class_hierarchy.dot classdef_hierarchy.dot +inheritance/ +mclasses/ +mendel/ +mmodules/ model.html module_hierarchy.dot +nullables/ +project_hierarchy.dot +rta/