*** 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: 1
+Number of edges: 1 (1.00 per node)
+Number of direct edges: 0 (0.00 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.00
+ 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.00
+ distribution:
+ <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
+## 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: 1
-# 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: 3.0
- max: base_simple3 (3)
- min: base_simple3 (3)
- std: 0.0
- sum: 3
- 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: 4.0
- max: base_simple3 (4)
- min: base_simple3 (4)
- std: 0.0
- sum: 4
+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: 1.0
- max: base_simple3 (3)
- min: base_empty_module (0)
- std: 1.581
- sum: 3
- 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: 2.0
- max: base_simple3 (4)
- min: base_empty_module (0)
- std: 2.0
- sum: 4
+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
# 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)
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)
+ avg: 0.0
+ max: Bool (1)
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: 11
-Number of edges: 47 (4.27 per node)
-Number of direct edges: 9 (0.81 per node)
-Distribution of greaters
- population: 11
- minimum value: 1
- maximum value: 5
- total value: 47
- average value: 4.27
- distribution:
- <=1: sub-population=1 (9.09%); cumulated value=1 (2.12%)
- <=4: sub-population=4 (36.36%); cumulated value=16 (34.04%)
- <=8: sub-population=6 (54.54%); cumulated value=30 (63.82%)
-Distribution of direct greaters
- population: 11
- minimum value: 0
- maximum value: 3
- total value: 9
- average value: 0.81
- distribution:
- <=0: sub-population=4 (36.36%); cumulated value=0 (0.0%)
- <=1: sub-population=6 (54.54%); cumulated value=6 (66.66%)
- <=4: sub-population=1 (9.09%); cumulated value=3 (33.33%)
-Distribution of smallers
- population: 11
- minimum value: 1
- maximum value: 10
- total value: 47
- average value: 4.27
- distribution:
- <=1: sub-population=7 (63.63%); cumulated value=7 (14.89%)
- <=16: sub-population=4 (36.36%); cumulated value=40 (85.10%)
-Distribution of direct smallers
- population: 11
- minimum value: 0
- maximum value: 6
- total value: 9
- average value: 0.81
- distribution:
- <=0: sub-population=7 (63.63%); cumulated value=0 (0.0%)
- <=1: sub-population=3 (27.27%); cumulated value=3 (33.33%)
- <=8: sub-population=1 (9.09%); cumulated value=6 (66.66%)
-## 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: 11
-Number of refined classes: 1 (12.50%)
-Average number of class refinments by classes: 0.37
-Average number of class refinments by refined classes: 3.00
-
-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: 4.42
-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
+ 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: 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: 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
+ mnod: number of descendant 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)
+ 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: 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)
+ std: 0.0
+ sum: 0
+ 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
# 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)
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
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
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
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
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
+--- 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: 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
mnlc: number of live mclasses in a mmodule
avg: 6.0
- max: <main> (6)
- min: <main> (6)
+ 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: <main> (6)
- min: <main> (6)
+ 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: <main> (0)
- min: <main> (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: <main> (17)
- min: <main> (17)
+ 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: <main> (14)
- min: <main> (14)
+ max: base_simple3 (14)
+ min: base_simple3 (14)
std: 0.0
sum: 14
mnlmd: number of live method definitions in a mmodule
- avg: 14.0
- max: <main> (14)
- min: <main> (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: <main> (0)
- min: <main> (0)
+ max: base_simple3 (0)
+ min: base_simple3 (0)
std: 0.0
sum: 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%)
-generating out/nitmetrics_args1.write/project_hierarchy.dot
-generating out/nitmetrics_args1.write/module_hierarchy.dot
+ 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/
model.html
module_hierarchy.dot
nullables/
-project_hierarchy.dot
+package_hierarchy.dot
rta/