*** METRICS *** --- 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%) --- 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% --- Metrics of refinement usage --- Number of modules: 1 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 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 properties: 19 Number of MAttribute: 3 (15.78%) Number of MMethod: 16 (84.21%) Number of property definitions: 19 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 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%) --- 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 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 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 class_hierarchy.dot classdef_hierarchy.dot model.html module_hierarchy.dot project_hierarchy.dot