X-Git-Url: http://nitlanguage.org diff --git a/tests/sav/nitmetrics_args1.res b/tests/sav/nitmetrics_args1.res index 17cb87f..139f52b 100644 --- a/tests/sav/nitmetrics_args1.res +++ b/tests/sav/nitmetrics_args1.res @@ -5,163 +5,259 @@ ## project base_simple3 `- group base_simple3 mnoa: number of ancestor modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + 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) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mnoc: number of child modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mnod: number of descendant modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mdit: depth in module tree - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + 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) + avg: 7.0 + max: base_simple3 (7) + min: base_simple3 (7) + std: 0.0 + sum: 7 mnbr: number of refinement in module - avg: 1.0 - max: base_simple3 (1) - min: base_simple3 (1) + 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) + 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) + 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: 2.0 - max: base_simple3 (2) - min: base_simple3 (2) + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 1 ## global metrics mnoa: number of ancestor modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + 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) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mnoc: number of child modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mnod: number of descendant modules - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 + sum: 0 mdit: depth in module tree - avg: 0.0 - max: base_simple3 (0) - min: base_simple3 (0) + 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) + avg: 7.0 + max: base_simple3 (7) + min: base_simple3 (7) + std: 0.0 + sum: 7 mnbr: number of refinement in module - avg: 1.0 - max: base_simple3 (1) - min: base_simple3 (1) + 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) + 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) + 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: 2.0 - max: base_simple3 (2) - min: base_simple3 (2) + avg: 1.0 + max: base_simple3 (1) + min: base_simple3 (1) + std: 0.0 + sum: 1 # MClasses metrics ## project base_simple3 `- group base_simple3 cnoa: number of ancestor classes - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 cnop: number of parent classes - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 cnoc: number of child classes - avg: 0.857 - max: Object (6) - min: Bool (0) + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 cnod: number of descendant classes - avg: 0.857 - max: Object (6) - min: Bool (0) + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 cdit: depth in class tree - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 6.0 + max: C (10) + min: Object (4) + std: 2.268 + sum: 42 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: C (2) + min: Object (0) + std: 0.845 + sum: 3 cnbip: number of introduced properties - avg: 2.714 - max: C (7) - min: Bool (0) + avg: 2.0 + max: C (6) + min: Bool (0) + std: 2.268 + sum: 18 cnbrp: number of redefined properties - avg: 0.0 - max: Object (0) - min: Object (0) + avg: 0.0 + max: A (1) + min: Object (0) + std: 0.535 + sum: 2 cnbhp: number of inherited properties - avg: 2.571 - max: Bool (3) - min: Object (0) + avg: 3.0 + max: Bool (4) + min: Object (0) + std: 1.464 + sum: 24 ## global metrics cnoa: number of ancestor classes - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 cnop: number of parent classes - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 cnoc: number of child classes - avg: 0.857 - max: Object (6) - min: Bool (0) + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 cnod: number of descendant classes - avg: 0.857 - max: Object (6) - min: Bool (0) + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 cdit: depth in class tree - avg: 0.857 - max: Bool (1) - min: Object (0) + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 6.0 + max: C (10) + min: Object (4) + std: 2.268 + sum: 42 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: C (2) + min: Object (0) + std: 0.845 + sum: 3 cnbip: number of introduced properties - avg: 2.714 - max: C (7) - min: Bool (0) + avg: 2.0 + max: C (6) + min: Bool (0) + std: 2.268 + sum: 18 cnbrp: number of redefined properties - avg: 0.0 - max: Object (0) - min: Object (0) + avg: 0.0 + max: A (1) + min: Object (0) + std: 0.535 + sum: 2 cnbhp: number of inherited properties - avg: 2.571 - max: Bool (3) - min: Object (0) + avg: 3.0 + max: Bool (4) + min: Object (0) + std: 1.464 + sum: 24 --- 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 direct edges: 0 (0.00 per node) Distribution of greaters population: 1 minimum value: 1 @@ -175,7 +271,7 @@ Distribution of direct greaters minimum value: 0 maximum value: 0 total value: 0 - average value: 0.0 + average value: 0.00 distribution: <=0: sub-population=1 (100.00%); cumulated value=0 (na%) Distribution of smallers @@ -191,50 +287,49 @@ Distribution of direct smallers minimum value: 0 maximum value: 0 total value: 0 - average value: 0.0 + average value: 0.00 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) +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: 8 - minimum value: 2 - maximum value: 3 - total value: 22 - average value: 2.75 + population: 7 + minimum value: 1 + maximum value: 2 + total value: 13 + average value: 1.85 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=1 (14.28%); cumulated value=1 (7.69%) + <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%) Distribution of direct greaters - population: 8 + population: 7 minimum value: 0 maximum value: 1 - total value: 7 - average value: 0.87 + total value: 6 + average value: 0.85 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=1 (14.28%); cumulated value=0 (0.00%) + <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%) Distribution of smallers - population: 8 + population: 7 minimum value: 1 - maximum value: 8 - total value: 22 - average value: 2.75 + maximum value: 7 + total value: 13 + average value: 1.85 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=6 (85.71%); cumulated value=6 (46.15%) + <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%) Distribution of direct smallers - population: 8 + population: 7 minimum value: 0 maximum value: 6 - total value: 7 - average value: 0.87 + total value: 6 + average value: 0.85 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=6 (85.71%); cumulated value=0 (0.00%) + <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%) ## Class hierarchy Number of nodes: 7 Number of edges: 13 (1.85 per node) @@ -255,7 +350,7 @@ Distribution of direct greaters total value: 6 average value: 0.85 distribution: - <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%) + <=0: sub-population=1 (14.28%); cumulated value=0 (0.00%) <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%) Distribution of smallers population: 7 @@ -273,77 +368,96 @@ Distribution of direct smallers total value: 6 average value: 0.85 distribution: - <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%) + <=0: sub-population=6 (85.71%); cumulated value=0 (0.00%) <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%) --- AST Metrics --- ## All nodes of the AST - population: 47 + population: 48 minimum value: 1 - maximum value: 39 - total value: 254 - average value: 5.40 + maximum value: 40 + total value: 261 + average value: 5.43 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%) + <=1: sub-population=15 (31.25%); cumulated value=15 (5.74%) + <=2: sub-population=5 (10.41%); cumulated value=10 (3.83%) + <=4: sub-population=10 (20.83%); cumulated value=32 (12.26%) + <=8: sub-population=10 (20.83%); cumulated value=64 (24.52%) + <=16: sub-population=4 (8.33%); cumulated value=44 (16.85%) + <=32: sub-population=3 (6.25%); cumulated value=56 (21.45%) + <=64: sub-population=1 (2.08%); cumulated value=40 (15.32%) 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%) + TId: 40 (15.32%) + APublicVisibility: 19 (7.27%) + AListExprs: 19 (7.27%) + ACallExpr: 18 (6.89%) + TClassid: 15 (5.74%) + TNumber: 10 (3.83%) + ADecIntExpr: 10 (3.83%) + AType: 9 (3.44%) + TKwend: 8 (3.06%) + ASignature: 8 (3.06%) ... - 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%) + ACallAssignExpr: 1 (0.38%) + AAnnotations: 1 (0.38%) + AReturnExpr: 1 (0.38%) + TKwreturn: 1 (0.38%) + AInterfaceClasskind: 1 (0.38%) + TKwinterface: 1 (0.38%) + ANoImport: 1 (0.38%) + AMainMethPropdef: 1 (0.38%) + AMainClassdef: 1 (0.38%) + TKwimport: 1 (0.38%) ## All identifiers of the AST - population: 19 + population: 20 minimum value: 1 maximum value: 11 - total value: 54 - average value: 2.84 + total value: 55 + average value: 2.75 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%) + <=1: sub-population=3 (15.00%); cumulated value=3 (5.45%) + <=2: sub-population=12 (60.00%); cumulated value=24 (43.63%) + <=4: sub-population=3 (15.00%); cumulated value=10 (18.18%) + <=8: sub-population=1 (5.00%); cumulated value=7 (12.72%) + <=16: sub-population=1 (5.00%); cumulated value=11 (20.00%) 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%) + 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%) + intern: 1 (1.81%) + Object: 1 (1.81%) + Bool: 1 (1.81%) +--- Detection of variance constraints on formal parameter types --- +-- Generic classes -- + list: + non generic: 7 (100.00%) + total classes: 7 + total formal parameters: 0 +-- Including `private` properties -- + covariants: 0 (na%) + contravariants: 0 (na%) + bivariants: 0 (na%) + invariants: 0 (na%) + total: 0 +-- Excluding `private` properties -- + covariants: 0 (na%) + contravariants: 0 (na%) + bivariants: 0 (na%) + invariants: 0 (na%) + total: 0 --- Metrics of refinement usage --- Number of modules: 1 @@ -352,173 +466,453 @@ Number of classes: 7 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 class definitions: 7 +Number of refined classes: 0 (0.00%) +Average number of class refinments by classes: 0.00 +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: 18 + Number of MAttribute: 3 (16.66%) + Number of MMethod: 15 (83.33%) -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 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%) +Number of property definitions: 20 +Number of redefined properties: 1 (5.55%) +Average number of property redefinitions by property: 0.11 +Average number of property redefinitions by redefined property: 2.00 --- 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: 11 -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 +Average number of composing class definition by runtime class: 2.00 +Total size of tables (classes and instances): 38 (not including stuff like info for subtyping or call-next-method) +Average size of table by runtime class: 6.33 +Values never redefined: 32 (84.21%) +generating project_hierarchy.dot +generating 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) + 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.571 - max: Object (4) - min: Bool (0) + 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) - cdit: depth in class tree - avg: 0.857 - max: Bool (1) - min: Object (0) + 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.857 - max: Bool (1) - min: Object (0) + 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) + 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) + 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) + 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) + 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) + 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) + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + std: 0.0 + sum: 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) + 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.571 - max: Object (4) - min: Bool (0) + 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) - cdit: depth in class tree - avg: 0.857 - max: Bool (1) - min: Object (0) + 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.857 - max: Bool (1) - min: Object (0) + 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) + 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) + 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) + 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) + 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) + 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) + avg: 0.143 + max: base_simple3 (0.143) + min: base_simple3 (0.143) + std: 0.0 + sum: 0.143 +--- 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%) + +# Mendel metrics + large mclasses (threshold: 2.291) + B: 3 + C: 3 + budding mclasses (threshold: 0.693) + B: 0.75 + C: 0.75 + blooming mclasses (threshold: 1.935) + B: 2.25 + C: 2.25 + blooming mclasses (threshold: 1.935) + B: 2.25 + C: 2.25 +--- Detection of the usage of covariance static type conformance --- +-- Total -- +- Kinds of the subtype - + list: + primitive type: 6 (100.00%) + total: 6 +- Variance - + list: + monomorph: 6 (100.00%) + total: 6 +- Classes of the subtype - + list: + Int: 6 (100.00%) + total: 6 +-- On covariance only -- +- Specific covariance case explanations - + list: + total: 0 +- Classes of the subtype, when covariance - + list: + total: 0 +- Patterns of the covariant cases - + list: + total: 0 +- Nodes of the covariance cases - + list: + total: 0 +- Modules of the covariance cases - + list: + total: 0 +- Kind of the expression node (when it make sense) - + list: + total: 0 +-- Casts -- +- Kind of cast target - + list: + total: 0 +- Classes of the cast - + list: + total: 0 +- Cast pattern - + list: + total: 0 +- Autocasts - + list: + total: 0 + +# Nullable metrics + + ## project base_simple3 + `- group base_simple3 + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: C (2) + min: Object (0) + std: 0.845 + sum: 3 + cnbna: number of accessible nullable attributes (inherited + local) -- nothing + sum: 0 + + ## global metrics + cnba: number of accessible attributes (inherited + local) + avg: 0.0 + max: C (2) + min: Object (0) + std: 0.845 + sum: 3 + 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.00%) +Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%) + +# 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: 16.0 + max: base_simple3 (16) + min: base_simple3 (16) + std: 0.0 + sum: 16 + 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/