X-Git-Url: http://nitlanguage.org diff --git a/tests/sav/nitmetrics_args1.res b/tests/sav/nitmetrics_args1.res index 64216c0..f6ad37b 100644 --- a/tests/sav/nitmetrics_args1.res +++ b/tests/sav/nitmetrics_args1.res @@ -1,8 +1,96 @@ *** 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 # MModules metrics - ## project base_simple3 + ## package base_simple3 `- group base_simple3 mnoa: number of ancestor modules avg: 0.0 @@ -126,133 +214,6 @@ min: base_simple3 (1) std: 0.0 sum: 1 - -# MClasses metrics - - ## project base_simple3 - `- group base_simple3 - cnoa: number of ancestor classes - avg: 0.0 - max: Bool (1) - min: Object (0) - std: 0.926 - sum: 6 - cnop: number of parent classes - avg: 0.0 - max: Bool (1) - min: Object (0) - std: 0.926 - sum: 6 - cnoc: number of child classes - avg: 0.0 - max: Object (6) - min: Bool (0) - std: 2.268 - sum: 6 - cnod: number of descendant classes - avg: 0.0 - max: Object (6) - min: Bool (0) - std: 2.268 - sum: 6 - cdit: depth in class tree - 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.0 - max: C (6) - min: Bool (0) - std: 2.268 - sum: 18 - cnbrp: number of redefined properties - avg: 0.0 - max: A (1) - min: Object (0) - std: 0.535 - sum: 2 - cnbhp: number of inherited properties - avg: 3.0 - max: Bool (4) - min: Object (0) - std: 1.464 - sum: 24 - - ## global metrics - cnoa: number of ancestor classes - avg: 0.0 - max: Bool (1) - min: Object (0) - std: 0.926 - sum: 6 - cnop: number of parent classes - avg: 0.0 - max: Bool (1) - min: Object (0) - std: 0.926 - sum: 6 - cnoc: number of child classes - avg: 0.0 - max: Object (6) - min: Bool (0) - std: 2.268 - sum: 6 - cnod: number of descendant classes - avg: 0.0 - max: Object (6) - min: Bool (0) - std: 2.268 - sum: 6 - cdit: depth in class tree - 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.0 - max: C (6) - min: Bool (0) - std: 2.268 - sum: 18 - cnbrp: number of redefined properties - avg: 0.0 - max: A (1) - min: Object (0) - std: 0.535 - sum: 2 - cnbhp: number of inherited properties - avg: 3.0 - max: Bool (4) - min: Object (0) - std: 1.464 - sum: 24 --- Poset metrics --- ## Module importation hierarchy Number of nodes: 1 @@ -370,94 +331,6 @@ Distribution of direct smallers distribution: <=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: 48 - minimum value: 1 - maximum value: 40 - total value: 261 - average value: 5.43 - distribution: - <=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: 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%) - ... - 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: 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%) ---- Metrics of covariance detection --- --- 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 @@ -471,29 +344,156 @@ 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: 18 - Number of MAttribute: 3 (16.66%) - Number of MMethod: 15 (83.33%) +Number of properties: 23 + Number of MAttribute: 3 (13.04%) + Number of MMethod: 20 (86.95%) -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 +Number of property definitions: 24 +Number of redefined properties: 1 (4.34%) +Average number of property redefinitions by property: 0.04 +Average number of property redefinitions by redefined property: 1.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): 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 +Total size of tables (classes and instances): 33 (not including stuff like info for subtyping or call-next-method) +Average size of table by runtime class: 5.50 +Values never redefined: 27 (81.81%) +generating package_hierarchy.dot generating module_hierarchy.dot +# MClasses metrics + + ## package base_simple3 + `- group base_simple3 + cnoa: number of ancestor classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnop: number of parent classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnoc: number of child classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cnod: number of descendant classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cdit: depth in class tree + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 5.0 + max: C (9) + min: Object (2) + std: 2.268 + sum: 35 + 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: 3.0 + max: C (7) + min: Bool (1) + std: 2.0 + sum: 23 + cnbrp: number of redefined properties + avg: 0.0 + max: A (1) + min: Object (0) + std: 0.378 + sum: 1 + cnbhp: number of inherited properties + avg: 1.0 + max: Bool (2) + min: Object (0) + std: 1.0 + sum: 12 + + ## global metrics + cnoa: number of ancestor classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnop: number of parent classes + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnoc: number of child classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cnod: number of descendant classes + avg: 0.0 + max: Object (6) + min: Bool (0) + std: 2.268 + sum: 6 + cdit: depth in class tree + avg: 0.0 + max: Bool (1) + min: Object (0) + std: 0.926 + sum: 6 + cnbp: number of accessible properties (inherited + local) + avg: 5.0 + max: C (9) + min: Object (2) + std: 2.268 + sum: 35 + 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: 3.0 + max: C (7) + min: Bool (1) + std: 2.0 + sum: 23 + cnbrp: number of redefined properties + avg: 0.0 + max: A (1) + min: Object (0) + std: 0.378 + sum: 1 + cnbhp: number of inherited properties + avg: 1.0 + max: Bool (2) + min: Object (0) + std: 1.0 + sum: 12 + # Inheritance metrics - ## project base_simple3 + ## package base_simple3 `- group base_simple3 cnoac: number of class_kind ancestor avg: 0.0 @@ -695,22 +695,62 @@ Statistics of type usage: 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 + large mclasses (threshold: 4.354) + C: 5 + budding mclasses (threshold: 3.207) + C: 3.5 + blooming mclasses (threshold: 14.316) + C: 17.5 +--- 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 + ## package base_simple3 `- group base_simple3 cnba: number of accessible attributes (inherited + local) avg: 0.0 @@ -732,7 +772,8 @@ Statistics of type usage: sum: 0 --- Sends on Nullable Receiver --- Total number of sends: 19 -Number of sends on a nullable receiver: 0 (0.00%) +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 @@ -763,17 +804,17 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%) 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 + mnlmd: number of live method definitions in a mmodule + avg: 17.0 + max: base_simple3 (17) + min: base_simple3 (17) + std: 0.0 + sum: 17 mnldd: number of dead method definitions in a mmodule avg: 0.0 max: base_simple3 (0) @@ -816,49 +857,49 @@ Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%) 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#autoinit: 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#autoinit: 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#autoinit: 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#autoinit: 1 (4.34%) class_hierarchy.dot classdef_hierarchy.dot inheritance/ @@ -868,5 +909,5 @@ mmodules/ model.html module_hierarchy.dot nullables/ -project_hierarchy.dot +package_hierarchy.dot rta/