X-Git-Url: http://nitlanguage.org diff --git a/tests/sav/nitmetrics_args1.res b/tests/sav/nitmetrics_args1.res index 9dc3dd0..2e82c7f 100644 --- a/tests/sav/nitmetrics_args1.res +++ b/tests/sav/nitmetrics_args1.res @@ -1,84 +1,349 @@ *** METRICS *** ---- 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: 0.0% +# MModules metrics ---- (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% + ## project base_simple3 + `- group base_simple3 + mnoa: number of ancestor modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnoc: number of child modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnod: number of descendant modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mdit: depth in module tree + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnbi: number of introduction in module + avg: 7.0 + max: base_simple3 (7) + min: base_simple3 (7) + mnbr: number of refinement in module + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + mnbcc: number of concrete class in module (intro + redef) + avg: 4.0 + max: base_simple3 (4) + min: base_simple3 (4) + mnbac: number of abstract class in module (intro + redef) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnbic: number of interface in module (intro + redef) + avg: 2.0 + max: base_simple3 (2) + min: base_simple3 (2) ---- (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% + ## global metrics + mnoa: number of ancestor modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnoc: number of child modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnod: number of descendant modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mdit: depth in module tree + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnbi: number of introduction in module + avg: 7.0 + max: base_simple3 (7) + min: base_simple3 (7) + mnbr: number of refinement in module + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + mnbcc: number of concrete class in module (intro + redef) + avg: 4.0 + max: base_simple3 (4) + min: base_simple3 (4) + mnbac: number of abstract class in module (intro + redef) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + mnbic: number of interface in module (intro + redef) + avg: 2.0 + max: base_simple3 (2) + min: base_simple3 (2) ---- (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% +# MClasses metrics ---- (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: 0.0% + ## project base_simple3 + `- group base_simple3 + cnoa: number of ancestor classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnop: number of parent classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnoc: number of child classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cnod: number of descendant classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cdit: depth in class tree + avg: 0.857 + max: Bool (1) + min: Object (0) + cnbip: number of introduced properties + avg: 2.714 + max: C (7) + min: Bool (0) + cnbrp: number of redefined properties + avg: 0.0 + max: Object (0) + min: Object (0) + cnbhp: number of inherited properties + avg: 2.571 + max: Bool (3) + min: Object (0) ---- (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: 0.0% + ## global metrics + cnoa: number of ancestor classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnop: number of parent classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnoc: number of child classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cnod: number of descendant classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cdit: depth in class tree + avg: 0.857 + max: Bool (1) + min: Object (0) + cnbip: number of introduced properties + avg: 2.714 + max: C (7) + min: Bool (0) + cnbrp: number of redefined properties + avg: 0.0 + max: Object (0) + min: Object (0) + cnbhp: number of inherited properties + avg: 2.571 + max: Bool (3) + min: Object (0) +--- 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) +Distribution of greaters + 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 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%) +## Classdef hierarchy +Number of nodes: 8 +Number of edges: 22 (2.75 per node) +Number of direct edges: 7 (0.87 per node) +Distribution of greaters + population: 8 + minimum value: 2 + maximum value: 3 + total value: 22 + average value: 2.75 + distribution: + <=2: sub-population=2 (25.00%); cumulated value=4 (18.18%) + <=4: sub-population=6 (75.00%); cumulated value=18 (81.81%) +Distribution of direct greaters + population: 8 + minimum value: 0 + maximum value: 1 + total value: 7 + average value: 0.87 + distribution: + <=0: sub-population=1 (12.50%); cumulated value=0 (0.0%) + <=1: sub-population=7 (87.50%); cumulated value=7 (100.00%) +Distribution of smallers + population: 8 + minimum value: 1 + maximum value: 8 + total value: 22 + average value: 2.75 + distribution: + <=1: sub-population=6 (75.00%); cumulated value=6 (27.27%) + <=8: sub-population=2 (25.00%); cumulated value=16 (72.72%) +Distribution of direct smallers + population: 8 + minimum value: 0 + maximum value: 6 + total value: 7 + average value: 0.87 + 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%) +## Class hierarchy +Number of nodes: 7 +Number of edges: 13 (1.85 per node) +Number of direct edges: 6 (0.85 per node) +Distribution of greaters + population: 7 + minimum value: 1 + maximum value: 2 + total value: 13 + average value: 1.85 + distribution: + <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%) + <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%) +Distribution of direct greaters + population: 7 + minimum value: 0 + maximum value: 1 + total value: 6 + average value: 0.85 + distribution: + <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%) + <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%) +Distribution of smallers + population: 7 + minimum value: 1 + maximum value: 7 + total value: 13 + average value: 1.85 + distribution: + <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%) + <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%) +Distribution of direct smallers + population: 7 + minimum value: 0 + maximum value: 6 + total value: 6 + average value: 0.85 + distribution: + <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%) + <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%) +--- AST Metrics --- +## All nodes of the AST + population: 47 + minimum value: 1 + maximum value: 39 + total value: 254 + average value: 5.40 + distribution: + <=1: sub-population=14 (29.78%); cumulated value=14 (5.51%) + <=2: sub-population=6 (12.76%); cumulated value=12 (4.72%) + <=4: sub-population=9 (19.14%); cumulated value=29 (11.41%) + <=8: sub-population=10 (21.27%); cumulated value=61 (24.01%) + <=16: sub-population=4 (8.51%); cumulated value=44 (17.32%) + <=32: sub-population=3 (6.38%); cumulated value=55 (21.65%) + <=64: sub-population=1 (2.12%); cumulated value=39 (15.35%) + list: + TId: 39 (15.35%) + AListExprs: 19 (7.48%) + APublicVisibility: 18 (7.08%) + ACallExpr: 18 (7.08%) + TClassid: 15 (5.90%) + TNumber: 10 (3.93%) + AIntExpr: 10 (3.93%) + AType: 9 (3.54%) + TKwend: 8 (3.14%) + ASignature: 8 (3.14%) + ... + AModule: 1 (0.39%) + AMainClassdef: 1 (0.39%) + ATopClassdef: 1 (0.39%) + TKwreturn: 1 (0.39%) + AReturnExpr: 1 (0.39%) + TKwinterface: 1 (0.39%) + ANoImport: 1 (0.39%) + AInterfaceClasskind: 1 (0.39%) + AMainMethPropdef: 1 (0.39%) + TKwimport: 1 (0.39%) +## All identifiers of the AST + population: 19 + minimum value: 1 + maximum value: 11 + total value: 54 + average value: 2.84 + distribution: + <=1: sub-population=2 (10.52%); cumulated value=2 (3.70%) + <=2: sub-population=12 (63.15%); cumulated value=24 (44.44%) + <=4: sub-population=3 (15.78%); cumulated value=10 (18.51%) + <=8: sub-population=1 (5.26%); cumulated value=7 (12.96%) + <=16: sub-population=1 (5.26%); cumulated value=11 (20.37%) + list: + output: 11 (20.37%) + Int: 7 (12.96%) + run: 4 (7.40%) + c: 3 (5.55%) + val: 3 (5.55%) + i: 2 (3.70%) + bar: 2 (3.70%) + foo: 2 (3.70%) + val2: 2 (3.70%) + val1: 2 (3.70%) + C: 2 (3.70%) + v: 2 (3.70%) + baz: 2 (3.70%) + a: 2 (3.70%) + A: 2 (3.70%) + B: 2 (3.70%) + b: 2 (3.70%) + Object: 1 (1.85%) + Bool: 1 (1.85%) --- Metrics of refinement usage --- Number of modules: 1 @@ -102,15 +367,21 @@ 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 -Distribution of type usage: - <=1: 3 (75.00% of types; 33.33% of usage) - <=8: 1 (25.00% of types; 66.66% of usage) ---- Sends on Nullable Reciever --- +Statistics of type usage: + population: 4 + minimum value: 1 + maximum value: 6 + total value: 9 + average value: 2.25 + distribution: + <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%) + <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%) + list: + Int: 6 (66.66%) + C: 1 (11.11%) + B: 1 (11.11%) + A: 1 (11.11%) +--- 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%) @@ -124,13 +395,130 @@ Total size of tables (classes and instances): 34 (not including stuff like info Average size of table by runtime class: 5.66 Values never redefined: 34 (100.00%) --- RTA metrics --- +Number of live runtime classes: 6 + Sys Bool Int A B C Number of live runtime types (instantied resolved type): 6 Sys Bool Int A B C +Number of live methods: 14 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 dead method definitions of live methods: 0 +generating out/nitmetrics_args1.write/project_hierarchy.dot +generating out/nitmetrics_args1.write/module_hierarchy.dot + +# Inheritance metrics + + ## project base_simple3 + `- group base_simple3 + cnoa: number of ancestor classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnop: number of parent classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnoc: number of child classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cnodc: number of class_kind descendants + avg: 0.571 + max: Object (4) + min: Bool (0) + cnodi: number of interface_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + cdit: depth in class tree + avg: 0.857 + max: Bool (1) + min: Object (0) + cditi: depth in class tree following only interface_kind + avg: 0.857 + max: Bool (1) + min: Object (0) + 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) + mduic: proportion of class_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mduii: proportion of interface_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mif: proportion of mclass inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + mifc: proportion of class_kind inherited from + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mifi: proportion of interface_kind inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + + ## global metrics + cnoa: number of ancestor classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnop: number of parent classes + avg: 0.857 + max: Bool (1) + min: Object (0) + cnoc: number of child classes + avg: 0.857 + max: Object (6) + min: Bool (0) + cnodc: number of class_kind descendants + avg: 0.571 + max: Object (4) + min: Bool (0) + cnodi: number of interface_kind descendants + avg: 0.0 + max: Object (0) + min: Object (0) + cdit: depth in class tree + avg: 0.857 + max: Bool (1) + min: Object (0) + cditi: depth in class tree following only interface_kind + avg: 0.857 + max: Bool (1) + min: Object (0) + 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) + mduic: proportion of class_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mduii: proportion of interface_kind defined using inheritance + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mif: proportion of mclass inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + mifc: proportion of class_kind inherited from + avg: 0.0 + max: base_simple3 (0.0) + min: base_simple3 (0.0) + mifi: proportion of interface_kind inherited from + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) class_hierarchy.dot classdef_hierarchy.dot model.html module_hierarchy.dot +project_hierarchy.dot