5 ## project base_simple3
7 mnoa: number of ancestor modules
13 mnop: number of parent modules
19 mnoc: number of child modules
25 mnod: number of descendant modules
31 mdit: depth in module tree
37 mnbi: number of introduction in module
43 mnbr: number of refinement in module
49 mnbcc: number of concrete class in module (intro + redef)
55 mnbac: number of abstract class in module (intro + redef)
61 mnbic: number of interface in module (intro + redef)
69 mnoa: number of ancestor modules
75 mnop: number of parent modules
81 mnoc: number of child modules
87 mnod: number of descendant modules
93 mdit: depth in module tree
99 mnbi: number of introduction in module
101 max: base_simple3 (7)
102 min: base_simple3 (7)
105 mnbr: number of refinement in module
107 max: base_simple3 (0)
108 min: base_simple3 (0)
111 mnbcc: number of concrete class in module (intro + redef)
113 max: base_simple3 (4)
114 min: base_simple3 (4)
117 mnbac: number of abstract class in module (intro + redef)
119 max: base_simple3 (0)
120 min: base_simple3 (0)
123 mnbic: number of interface in module (intro + redef)
125 max: base_simple3 (1)
126 min: base_simple3 (1)
129 --- Metrics of refinement usage ---
133 Number of interface kind: 1 (14.28%)
134 Number of enum kind: 2 (28.57%)
135 Number of class kind: 4 (57.14%)
137 Number of class definitions: 7
138 Number of refined classes: 0 (0.00%)
139 Average number of class refinments by classes: 0.00
140 Average number of class refinments by refined classes: na
142 Number of properties: 18
143 Number of MAttribute: 3 (16.66%)
144 Number of MMethod: 15 (83.33%)
146 Number of property definitions: 20
147 Number of redefined properties: 1 (5.55%)
148 Average number of property redefinitions by property: 0.11
149 Average number of property redefinitions by redefined property: 2.00
150 --- Explicit vs. Implicit Self ---
151 Total number of self: 5
152 Total number of implicit self: 4 (80.00%)
153 --- Construction of tables ---
154 Number of runtime classes: 6 (excluding interfaces and abstract classes)
155 Average number of composing class definition by runtime class: 2.00
156 Total size of tables (classes and instances): 23 (not including stuff like info for subtyping or call-next-method)
157 Average size of table by runtime class: 3.83
158 Values never redefined: 17 (73.91%)
159 --- Poset metrics ---
160 ## Module importation hierarchy
162 Number of edges: 1 (1.00 per node)
163 Number of direct edges: 0 (0.00 per node)
164 Distribution of greaters
171 <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
172 Distribution of direct greaters
179 <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
180 Distribution of smallers
187 <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
188 Distribution of direct smallers
195 <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
196 ## Classdef hierarchy
198 Number of edges: 13 (1.85 per node)
199 Number of direct edges: 6 (0.85 per node)
200 Distribution of greaters
207 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
208 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
209 Distribution of direct greaters
216 <=0: sub-population=1 (14.28%); cumulated value=0 (0.00%)
217 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
218 Distribution of smallers
225 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
226 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
227 Distribution of direct smallers
234 <=0: sub-population=6 (85.71%); cumulated value=0 (0.00%)
235 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
238 Number of edges: 13 (1.85 per node)
239 Number of direct edges: 6 (0.85 per node)
240 Distribution of greaters
247 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
248 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
249 Distribution of direct greaters
256 <=0: sub-population=1 (14.28%); cumulated value=0 (0.00%)
257 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
258 Distribution of smallers
265 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
266 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
267 Distribution of direct smallers
274 <=0: sub-population=6 (85.71%); cumulated value=0 (0.00%)
275 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
277 ## All nodes of the AST
284 <=1: sub-population=16 (31.37%); cumulated value=16 (5.53%)
285 <=2: sub-population=5 (9.80%); cumulated value=10 (3.46%)
286 <=4: sub-population=9 (17.64%); cumulated value=28 (9.68%)
287 <=8: sub-population=12 (23.52%); cumulated value=76 (26.29%)
288 <=16: sub-population=4 (7.84%); cumulated value=44 (15.22%)
289 <=32: sub-population=4 (7.84%); cumulated value=75 (25.95%)
290 <=64: sub-population=1 (1.96%); cumulated value=40 (13.84%)
293 APublicVisibility: 19 (6.57%)
295 AListExprs: 19 (6.57%)
296 ACallExpr: 18 (6.22%)
299 AIntegerExpr: 10 (3.46%)
303 ACallAssignExpr: 1 (0.34%)
304 AAnnotations: 1 (0.34%)
306 AReturnExpr: 1 (0.34%)
307 AInterfaceClasskind: 1 (0.34%)
308 TKwinterface: 1 (0.34%)
310 AMainMethPropdef: 1 (0.34%)
311 AMainClassdef: 1 (0.34%)
313 ## All identifiers of the AST
320 <=1: sub-population=3 (15.00%); cumulated value=3 (5.45%)
321 <=2: sub-population=12 (60.00%); cumulated value=24 (43.63%)
322 <=4: sub-population=3 (15.00%); cumulated value=10 (18.18%)
323 <=8: sub-population=1 (5.00%); cumulated value=7 (12.72%)
324 <=16: sub-population=1 (5.00%); cumulated value=11 (20.00%)
346 --- Detection of variance constraints on formal parameter types ---
347 -- Generic classes --
349 non generic: 7 (100.00%)
351 total formal parameters: 0
352 -- Including `private` properties --
354 contravariants: 0 (na%)
358 -- Excluding `private` properties --
360 contravariants: 0 (na%)
367 ## project base_simple3
368 `- group base_simple3
369 cnoa: number of ancestor classes
375 cnop: number of parent classes
381 cnoc: number of child classes
387 cnod: number of descendant classes
393 cdit: depth in class tree
399 cnbp: number of accessible properties (inherited + local)
405 cnba: number of accessible attributes (inherited + local)
411 cnbip: number of introduced properties
417 cnbrp: number of redefined properties
423 cnbhp: number of inherited properties
431 cnoa: number of ancestor classes
437 cnop: number of parent classes
443 cnoc: number of child classes
449 cnod: number of descendant classes
455 cdit: depth in class tree
461 cnbp: number of accessible properties (inherited + local)
467 cnba: number of accessible attributes (inherited + local)
473 cnbip: number of introduced properties
479 cnbrp: number of redefined properties
485 cnbhp: number of inherited properties
491 generating project_hierarchy.dot
492 generating module_hierarchy.dot
494 # Inheritance metrics
496 ## project base_simple3
497 `- group base_simple3
498 cnoac: number of class_kind ancestor
504 cnopc: number of class_kind parent
510 cnocc: number of class_kind children
516 cnodc: number of class_kind descendants
522 cnopi: number of interface_kind parent
528 cnoci: number of interface_kind children
534 cnodi: number of interface_kind descendants
540 cditc: depth in class tree following only class, abstract, extern kind
546 cditi: depth in class tree following only interface_kind
552 mdui: proportion of mclass defined using inheritance (has other parent than Object)
554 max: base_simple3 (0.0)
555 min: base_simple3 (0.0)
558 mduic: proportion of class_kind defined using inheritance
560 max: base_simple3 (0.0)
561 min: base_simple3 (0.0)
564 mduii: proportion of interface_kind defined using inheritance
566 max: base_simple3 (0.0)
567 min: base_simple3 (0.0)
570 mif: proportion of mclass inherited from
572 max: base_simple3 (0.143)
573 min: base_simple3 (0.143)
576 mifc: proportion of class_kind inherited from
578 max: base_simple3 (0.0)
579 min: base_simple3 (0.0)
582 mifi: proportion of interface_kind inherited from
584 max: base_simple3 (0.143)
585 min: base_simple3 (0.143)
590 cnoac: number of class_kind ancestor
596 cnopc: number of class_kind parent
602 cnocc: number of class_kind children
608 cnodc: number of class_kind descendants
614 cnopi: number of interface_kind parent
620 cnoci: number of interface_kind children
626 cnodi: number of interface_kind descendants
632 cditc: depth in class tree following only class, abstract, extern kind
638 cditi: depth in class tree following only interface_kind
644 mdui: proportion of mclass defined using inheritance (has other parent than Object)
646 max: base_simple3 (0.0)
647 min: base_simple3 (0.0)
650 mduic: proportion of class_kind defined using inheritance
652 max: base_simple3 (0.0)
653 min: base_simple3 (0.0)
656 mduii: proportion of interface_kind defined using inheritance
658 max: base_simple3 (0.0)
659 min: base_simple3 (0.0)
662 mif: proportion of mclass inherited from
664 max: base_simple3 (0.143)
665 min: base_simple3 (0.143)
668 mifc: proportion of class_kind inherited from
670 max: base_simple3 (0.0)
671 min: base_simple3 (0.0)
674 mifi: proportion of interface_kind inherited from
676 max: base_simple3 (0.143)
677 min: base_simple3 (0.143)
680 --- Metrics of the explitic static types ---
681 Total number of explicit static types: 9
682 Statistics of type usage:
689 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
690 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
698 large mclasses (threshold: 3.915)
702 budding mclasses (threshold: 5.033)
703 blooming mclasses (threshold: 21.874)
705 --- Detection of the usage of covariance static type conformance ---
707 - Kinds of the subtype -
709 primitive type: 6 (100.00%)
713 monomorph: 6 (100.00%)
715 - Classes of the subtype -
719 -- On covariance only --
720 - Specific covariance case explanations -
723 - Classes of the subtype, when covariance -
726 - Patterns of the covariant cases -
729 - Nodes of the covariance cases -
732 - Modules of the covariance cases -
735 - Kind of the expression node (when it make sense) -
739 - Kind of cast target -
742 - Classes of the cast -
754 ## project base_simple3
755 `- group base_simple3
756 cnba: number of accessible attributes (inherited + local)
762 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
766 cnba: number of accessible attributes (inherited + local)
772 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
774 --- Sends on Nullable Receiver ---
775 Total number of sends: 19
776 Number of sends on a unsafe nullable receiver: 0 (0.00%)
777 Number of sends on a safe nullable receiver: 0 (0.00%)
778 Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%)
782 ## Live instances by mainmodules
783 mnlc: number of live mclasses in a mmodule
785 max: base_simple3 (6)
786 min: base_simple3 (6)
789 mnlt: number of live mtypes in a mmodule
791 max: base_simple3 (6)
792 min: base_simple3 (6)
795 mnct: number of live cast mtypes in a mmodule
797 max: base_simple3 (0)
798 min: base_simple3 (0)
801 mnli: number of live instances in a mmodule
803 max: base_simple3 (17)
804 min: base_simple3 (17)
807 mnlm: number of live methods in a mmodule
809 max: base_simple3 (14)
810 min: base_simple3 (14)
813 mnlmd: number of live method definitions in a mmodule
815 max: base_simple3 (16)
816 min: base_simple3 (16)
819 mnldd: number of dead method definitions in a mmodule
821 max: base_simple3 (0)
822 min: base_simple3 (0)
826 ## Total live instances by mclasses
827 cnli: number of live instances for a mclass
833 cnlc: number of live cast for a mclass type -- nothing
836 ## Total live instances by mtypes
837 tnli: number of live instances for a mtype
843 tnlc: number of live casts to a mtype -- nothing
847 tags: arity of generic signature
853 tdos: depth of generic signature
862 MMethodDef locally designated (by number of CallSites)
869 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
870 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
872 base_simple3#Int#output: 10 (43.47%)
873 base_simple3#B#val: 1 (4.34%)
874 base_simple3#B#val=: 1 (4.34%)
875 base_simple3#Object#init: 1 (4.34%)
876 base_simple3#C#val2: 1 (4.34%)
878 base_simple3#A#init: 1 (4.34%)
879 base_simple3#Sys#baz: 1 (4.34%)
880 base_simple3#Sys#bar: 1 (4.34%)
881 base_simple3#Sys#foo: 1 (4.34%)
882 base_simple3#C#init: 1 (4.34%)
883 MMethodDef possibly invoked at runtime (by number of CallSites)
890 <=1: sub-population=13 (92.85%); cumulated value=13 (56.52%)
891 <=16: sub-population=1 (7.14%); cumulated value=10 (43.47%)
893 base_simple3#Int#output: 10 (43.47%)
894 base_simple3#B#val: 1 (4.34%)
895 base_simple3#B#val=: 1 (4.34%)
896 base_simple3#Object#init: 1 (4.34%)
897 base_simple3#C#val2: 1 (4.34%)
899 base_simple3#A#init: 1 (4.34%)
900 base_simple3#Sys#baz: 1 (4.34%)
901 base_simple3#Sys#bar: 1 (4.34%)
902 base_simple3#Sys#foo: 1 (4.34%)
903 base_simple3#C#init: 1 (4.34%)
905 classdef_hierarchy.dot
913 project_hierarchy.dot