X-Git-Url: http://nitlanguage.org diff --git a/tests/sav/nitmetrics_args1.res b/tests/sav/nitmetrics_args1.res index 4540753..139d036 100644 --- a/tests/sav/nitmetrics_args1.res +++ b/tests/sav/nitmetrics_args1.res @@ -1,199 +1,266 @@ *** METRICS *** +--- AST Metrics --- +## All nodes of the AST + population: 52 + minimum value: 1 + maximum value: 40 + total value: 304 + average value: 5.84 + distribution: + <=1: sub-population=16 (30.76%); cumulated value=16 (5.26%) + <=2: sub-population=5 (9.61%); cumulated value=10 (3.28%) + <=4: sub-population=9 (17.30%); cumulated value=28 (9.21%) + <=8: sub-population=12 (23.07%); cumulated value=76 (25.00%) + <=16: sub-population=5 (9.61%); cumulated value=59 (19.40%) + <=32: sub-population=4 (7.69%); cumulated value=75 (24.67%) + <=64: sub-population=1 (1.92%); cumulated value=40 (13.15%) + list: + TId: 40 (13.15%) + APublicVisibility: 19 (6.25%) + AListExprs: 19 (6.25%) + AQid: 19 (6.25%) + ACallExpr: 18 (5.92%) + TClassid: 15 (4.93%) + AQclassid: 15 (4.93%) + TInteger: 10 (3.28%) + AIntegerExpr: 10 (3.28%) + AType: 9 (2.96%) + ... + AAnnotation: 1 (0.32%) + AAnnotations: 1 (0.32%) + AReturnExpr: 1 (0.32%) + TKwreturn: 1 (0.32%) + AInterfaceClasskind: 1 (0.32%) + TKwinterface: 1 (0.32%) + ANoImport: 1 (0.32%) + AMainMethPropdef: 1 (0.32%) + AMainClassdef: 1 (0.32%) + TKwimport: 1 (0.32%) +## All identifiers of the AST + population: 20 + minimum value: 1 + maximum value: 11 + total value: 55 + average value: 2.75 + distribution: + <=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.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 +--- Poset metrics --- +## Module importation hierarchy +Number of nodes: 2 +Number of edges: 3 (1.50 per node) +Number of direct edges: 1 (0.50 per node) +Distribution of greaters + population: 2 + minimum value: 1 + maximum value: 2 + total value: 3 + average value: 1.50 + distribution: + <=1: sub-population=1 (50.00%); cumulated value=1 (33.33%) + <=2: sub-population=1 (50.00%); cumulated value=2 (66.66%) +Distribution of direct greaters + population: 2 + minimum value: 0 + maximum value: 1 + total value: 1 + average value: 0.50 + distribution: + <=0: sub-population=1 (50.00%); cumulated value=0 (0.00%) + <=1: sub-population=1 (50.00%); cumulated value=1 (100.00%) +Distribution of smallers + population: 2 + minimum value: 1 + maximum value: 2 + total value: 3 + average value: 1.50 + distribution: + <=1: sub-population=1 (50.00%); cumulated value=1 (33.33%) + <=2: sub-population=1 (50.00%); cumulated value=2 (66.66%) +Distribution of direct smallers + population: 2 + minimum value: 0 + maximum value: 1 + total value: 1 + average value: 0.50 + distribution: + <=0: sub-population=1 (50.00%); cumulated value=0 (0.00%) + <=1: sub-population=1 (50.00%); cumulated value=1 (100.00%) +## Classdef 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.00%) + <=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.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) +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.00%) + <=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.00%) + <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%) +--- Metrics of refinement usage --- +Number of modules: 2 -# MModules metrics +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%) - ## 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 +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 - ## 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 +Number of properties: 18 + Number of MAttribute: 3 (16.66%) + Number of MMethod: 15 (83.33%) - ## 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 +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: 2.00 +Total size of tables (classes and instances): 23 (not including stuff like info for subtyping or call-next-method) +Average size of table by runtime class: 3.83 +Values never redefined: 17 (73.91%) +generating package_hierarchy.dot +generating module_hierarchy.dot +--- 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%) # MClasses metrics - ## project base_simple3 - `- group base_simple3 + ## package base_simple3 + `- group base_simple3> cnoa: number of ancestor classes avg: 0.0 max: Bool (1) @@ -225,455 +292,268 @@ 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 + avg: 3.0 + max: C (7) + min: Object (1) + std: 2.36 + sum: 24 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) + max: C (2) 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) + std: 0.845 + sum: 3 + cnbi: number of accessible constructors (inherited + local) avg: 1.0 - max: Object (1) + max: B (2) min: Object (1) - std: 0.0 - sum: 1 - cnba: number of accessible attributes (inherited + local) + std: 0.378 + sum: 8 + cnbm: number of accessible methods (inherited + local) + avg: 3.0 + max: B (5) + min: Object (1) + std: 1.773 + sum: 21 + cnbv: number of accessible virtual types (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 + 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) + max: A (1) min: Object (0) - std: 0.0 - sum: 0 + std: 0.535 + sum: 2 cnbhp: number of inherited properties avg: 0.0 - max: Object (0) + max: Bool (1) min: Object (0) - std: 0.0 - sum: 0 + std: 0.926 + sum: 6 ## global metrics cnoa: number of ancestor classes avg: 0.0 max: Bool (1) min: Object (0) - std: 0.866 + std: 0.926 sum: 6 cnop: number of parent classes avg: 0.0 max: Bool (1) min: Object (0) - std: 0.866 + std: 0.926 sum: 6 cnoc: number of child classes avg: 0.0 max: Object (6) min: Bool (0) - std: 2.121 + std: 2.268 sum: 6 cnod: number of descendant classes avg: 0.0 max: Object (6) min: Bool (0) - std: 2.121 + std: 2.268 sum: 6 cdit: depth in class tree avg: 0.0 max: Bool (1) min: Object (0) - std: 0.866 + std: 0.926 sum: 6 cnbp: number of accessible properties (inherited + local) - avg: 4.0 - max: C (8) + avg: 3.0 + max: C (7) min: Object (1) - std: 2.151 - sum: 35 + std: 2.36 + sum: 24 cnba: number of accessible attributes (inherited + local) avg: 0.0 + max: C (2) + min: Object (0) + std: 0.845 + sum: 3 + cnbi: number of accessible constructors (inherited + local) + avg: 1.0 + max: B (2) + min: Object (1) + std: 0.378 + sum: 8 + cnbm: number of accessible methods (inherited + local) + avg: 3.0 + max: B (5) + min: Object (1) + std: 1.773 + sum: 21 + cnbv: number of accessible virtual types (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) + max: C (6) min: Bool (0) - std: 1.62 - sum: 17 + std: 2.268 + sum: 18 cnbrp: number of redefined properties avg: 0.0 - max: Object (0) + max: A (1) min: Object (0) - std: 0.0 - sum: 0 + std: 0.535 + sum: 2 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: 3 -Number of edges: 5 (1.66 per node) -Number of direct edges: 2 (0.66 per node) -Distribution of greaters - population: 3 - minimum value: 1 - maximum value: 3 - total value: 5 - average value: 1.66 - distribution: - <=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: 3 - minimum value: 0 - maximum value: 2 - total value: 2 - average value: 0.66 - distribution: - <=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: 3 - minimum value: 1 - maximum value: 2 - total value: 5 - average value: 1.66 - distribution: - <=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: 3 - minimum value: 0 - maximum value: 1 - total value: 2 - average value: 0.66 - distribution: - <=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: 14 (1.75 per node) -Number of direct edges: 6 (0.75 per node) -Distribution of greaters - population: 8 - minimum value: 1 - maximum value: 2 - total value: 14 - average value: 1.75 - distribution: - <=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: 6 - average value: 0.75 - distribution: - <=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: 7 - total value: 14 - average value: 1.75 - distribution: - <=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: 6 - average value: 0.75 - distribution: - <=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: 8 -Number of edges: 14 (1.75 per node) -Number of direct edges: 6 (0.75 per node) -Distribution of greaters - population: 8 - minimum value: 1 - maximum value: 2 - total value: 14 - average value: 1.75 - distribution: - <=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: 6 - average value: 0.75 - distribution: - <=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: 7 - total value: 14 - average value: 1.75 - distribution: - <=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: 6 - average value: 0.75 - distribution: - <=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: 3 - -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: 0 (0.0%) -Average number of class refinments by classes: 0.0 -Average number of class refinments by refined classes: na - -Number of properties: 20 - Number of MAttribute: 3 (15.00%) - Number of MMethod: 17 (85.00%) - -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 -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%) ---- Explicit vs. Implicit Self --- -Total number of self: 5 -Total number of implicit self: 4 (80.00%) ---- Construction of tables --- -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 + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 -# Nullable metrics +# MModules metrics - ## project base_simple3 - `- group base_simple3 - cnba: number of accessible attributes (inherited + local) + ## package base_simple3 + `- group base_simple3> + mnoa: number of ancestor modules avg: 0.0 - max: Object (0) - min: Object (0) + max: base_simple3 (0) + min: base_simple3 (0) std: 0.0 sum: 0 - cnbna: number of accessible nullable attributes (inherited + local) -- nothing + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 sum: 0 - - ## project base_empty_module - `- group base_empty_module - cnba: number of accessible attributes (inherited + local) + 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: Object (0) - min: Object (0) + max: base_simple3 (0) + min: base_simple3 (0) std: 0.0 sum: 0 - cnbna: number of accessible nullable attributes (inherited + local) -- nothing + 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 ## global metrics - cnba: number of accessible attributes (inherited + local) + mnoa: number of ancestor modules avg: 0.0 - max: Object (0) - min: Object (0) + max: base_simple3 (0) + min: base_simple3 (0) std: 0.0 sum: 0 - cnbna: number of accessible nullable attributes (inherited + local) -- nothing + mnop: number of parent modules + avg: 0.0 + max: base_simple3 (0) + min: base_simple3 (0) + std: 0.0 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%) + 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 + +# ReadMe metrics +Warning: no source file for `base_simple3` # Inheritance metrics - ## project base_simple3 - `- group base_simple3 + ## package base_simple3 + `- group base_simple3> cnoac: number of class_kind ancestor avg: 0.0 max: Object (0) @@ -765,99 +645,6 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) 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 @@ -875,19 +662,19 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) avg: 0.0 max: Object (4) min: Bool (0) - std: 1.414 + std: 1.512 sum: 4 cnodc: number of class_kind descendants avg: 0.0 max: Object (4) min: Bool (0) - std: 1.414 + std: 1.512 sum: 4 cnopi: number of interface_kind parent avg: 0.0 max: Bool (1) min: Object (0) - std: 0.866 + std: 0.926 sum: 6 cnoci: number of interface_kind children avg: 0.0 @@ -911,7 +698,7 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) avg: 0.0 max: Bool (1) min: Object (0) - std: 0.866 + std: 0.926 sum: 6 mdui: proportion of mclass defined using inheritance (has other parent than Object) avg: 0.0 @@ -932,10 +719,10 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) std: 0.0 sum: 0.0 mif: proportion of mclass inherited from - avg: 0.071 + avg: 0.143 max: base_simple3 (0.143) - min: base_empty_module (0.0) - std: 0.071 + min: base_simple3 (0.143) + std: 0.0 sum: 0.143 mifc: proportion of class_kind inherited from avg: 0.0 @@ -944,12 +731,95 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) std: 0.0 sum: 0.0 mifi: proportion of interface_kind inherited from - avg: 0.071 + avg: 0.143 max: base_simple3 (0.143) - min: base_empty_module (0.0) - std: 0.071 + min: base_simple3 (0.143) + std: 0.0 sum: 0.143 +# Mendel metrics + large mclasses (threshold: 3.915) + C: 5 + B: 4 + Sys: 4 + budding mclasses (threshold: 5.033) + blooming mclasses (threshold: 21.874) + C: 25.0 +--- 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 + + ## package 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 unsafe nullable receiver: 0 (0.00%) +Number of sends on a safe 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 @@ -984,11 +854,11 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) 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) + avg: 16.0 + max: base_simple3 (16) + min: base_simple3 (16) std: 0.0 - sum: 14 + sum: 16 mnldd: number of dead method definitions in a mmodule avg: 0.0 max: base_simple3 (0) @@ -1031,49 +901,49 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%) sum: 0 ## Callsites -* 22 live callsites +* 23 live callsites MMethodDef locally designated (by number of CallSites) - population: 13 + population: 14 minimum value: 1 maximum value: 10 - total value: 22 - average value: 1.69 + total value: 23 + average value: 1.64 distribution: - <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%) - <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%) + <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%) + <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%) 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$Int$output: 10 (43.47%) + base_simple3$B$val: 1 (4.34%) + base_simple3$B$val=: 1 (4.34%) + base_simple3$Object$init: 1 (4.34%) + base_simple3$C$val2: 1 (4.34%) ... - 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%) + base_simple3$A$init: 1 (4.34%) + base_simple3$Sys$baz: 1 (4.34%) + base_simple3$Sys$bar: 1 (4.34%) + base_simple3$Sys$foo: 1 (4.34%) + base_simple3$C$init: 1 (4.34%) MMethodDef possibly invoked at runtime (by number of CallSites) - population: 13 + population: 14 minimum value: 1 maximum value: 10 - total value: 22 - average value: 1.69 + total value: 23 + average value: 1.64 distribution: - <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%) - <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%) + <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%) + <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%) 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$Int$output: 10 (43.47%) + base_simple3$B$val: 1 (4.34%) + base_simple3$B$val=: 1 (4.34%) + base_simple3$Object$init: 1 (4.34%) + base_simple3$C$val2: 1 (4.34%) ... - 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%) + base_simple3$A$init: 1 (4.34%) + base_simple3$Sys$baz: 1 (4.34%) + base_simple3$Sys$bar: 1 (4.34%) + base_simple3$Sys$foo: 1 (4.34%) + base_simple3$C$init: 1 (4.34%) class_hierarchy.dot classdef_hierarchy.dot inheritance/ @@ -1083,5 +953,6 @@ mmodules/ model.html module_hierarchy.dot nullables/ -project_hierarchy.dot +package_hierarchy.dot +readme.csv rta/