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)
68 ## project base_empty_module
69 `- group base_empty_module
70 mnoa: number of ancestor modules
72 max: base_empty_module (0)
73 min: base_empty_module (0)
76 mnop: number of parent modules
78 max: base_empty_module (0)
79 min: base_empty_module (0)
82 mnoc: number of child modules
84 max: base_empty_module (1)
85 min: base_empty_module (1)
88 mnod: number of descendant modules
90 max: base_empty_module (1)
91 min: base_empty_module (1)
94 mdit: depth in module tree
96 max: base_empty_module (0)
97 min: base_empty_module (0)
100 mnbi: number of introduction in module
102 max: base_empty_module (1)
103 min: base_empty_module (1)
106 mnbr: number of refinement in module
108 max: base_empty_module (0)
109 min: base_empty_module (0)
112 mnbcc: number of concrete class in module (intro + redef)
114 max: base_empty_module (1)
115 min: base_empty_module (1)
118 mnbac: number of abstract class in module (intro + redef)
120 max: base_empty_module (0)
121 min: base_empty_module (0)
124 mnbic: number of interface in module (intro + redef)
126 max: base_empty_module (0)
127 min: base_empty_module (0)
132 mnoa: number of ancestor modules
134 max: base_simple3 (0)
135 min: base_simple3 (0)
138 mnop: number of parent modules
140 max: base_simple3 (0)
141 min: base_simple3 (0)
144 mnoc: number of child modules
146 max: base_simple3 (1)
147 min: base_simple3 (1)
150 mnod: number of descendant modules
152 max: base_simple3 (1)
153 min: base_simple3 (1)
156 mdit: depth in module tree
158 max: base_simple3 (0)
159 min: base_simple3 (0)
162 mnbi: number of introduction in module
164 max: base_simple3 (7)
165 min: base_empty_module (1)
168 mnbr: number of refinement in module
170 max: base_simple3 (3)
171 min: base_empty_module (0)
174 mnbcc: number of concrete class in module (intro + redef)
176 max: base_simple3 (4)
177 min: base_empty_module (1)
180 mnbac: number of abstract class in module (intro + redef)
182 max: base_simple3 (0)
183 min: base_simple3 (0)
186 mnbic: number of interface in module (intro + redef)
188 max: base_simple3 (4)
189 min: base_empty_module (0)
195 ## project base_simple3
196 `- group base_simple3
197 cnoa: number of ancestor classes
203 cnop: number of parent classes
209 cnoc: number of child classes
215 cnod: number of descendant classes
221 cdit: depth in class tree
227 cnbp: number of accessible properties (inherited + local)
233 cnba: number of accessible attributes (inherited + local)
239 cnbip: number of introduced properties
245 cnbrp: number of redefined properties
251 cnbhp: number of inherited properties
258 ## project base_empty_module
259 `- group base_empty_module
260 cnoa: number of ancestor classes
266 cnop: number of parent classes
272 cnoc: number of child classes
278 cnod: number of descendant classes
284 cdit: depth in class tree
290 cnbp: number of accessible properties (inherited + local)
296 cnba: number of accessible attributes (inherited + local)
302 cnbip: number of introduced properties
308 cnbrp: number of redefined properties
314 cnbhp: number of inherited properties
322 cnoa: number of ancestor classes
328 cnop: number of parent classes
334 cnoc: number of child classes
340 cnod: number of descendant classes
346 cdit: depth in class tree
352 cnbp: number of accessible properties (inherited + local)
358 cnba: number of accessible attributes (inherited + local)
364 cnbip: number of introduced properties
370 cnbrp: number of redefined properties
376 cnbhp: number of inherited properties
382 --- Poset metrics ---
383 ## Module importation hierarchy
385 Number of edges: 5 (1.66 per node)
386 Number of direct edges: 2 (0.66 per node)
387 Distribution of greaters
394 <=1: sub-population=2 (66.66%); cumulated value=2 (40.00%)
395 <=4: sub-population=1 (33.33%); cumulated value=3 (60.00%)
396 Distribution of direct greaters
403 <=0: sub-population=2 (66.66%); cumulated value=0 (0.0%)
404 <=2: sub-population=1 (33.33%); cumulated value=2 (100.00%)
405 Distribution of smallers
412 <=1: sub-population=1 (33.33%); cumulated value=1 (20.00%)
413 <=2: sub-population=2 (66.66%); cumulated value=4 (80.00%)
414 Distribution of direct smallers
421 <=0: sub-population=1 (33.33%); cumulated value=0 (0.0%)
422 <=1: sub-population=2 (66.66%); cumulated value=2 (100.00%)
423 ## Classdef hierarchy
425 Number of edges: 47 (4.27 per node)
426 Number of direct edges: 9 (0.81 per node)
427 Distribution of greaters
434 <=1: sub-population=1 (9.09%); cumulated value=1 (2.12%)
435 <=4: sub-population=4 (36.36%); cumulated value=16 (34.04%)
436 <=8: sub-population=6 (54.54%); cumulated value=30 (63.82%)
437 Distribution of direct greaters
444 <=0: sub-population=4 (36.36%); cumulated value=0 (0.0%)
445 <=1: sub-population=6 (54.54%); cumulated value=6 (66.66%)
446 <=4: sub-population=1 (9.09%); cumulated value=3 (33.33%)
447 Distribution of smallers
454 <=1: sub-population=7 (63.63%); cumulated value=7 (14.89%)
455 <=16: sub-population=4 (36.36%); cumulated value=40 (85.10%)
456 Distribution of direct smallers
463 <=0: sub-population=7 (63.63%); cumulated value=0 (0.0%)
464 <=1: sub-population=3 (27.27%); cumulated value=3 (33.33%)
465 <=8: sub-population=1 (9.09%); cumulated value=6 (66.66%)
468 Number of edges: 14 (1.75 per node)
469 Number of direct edges: 6 (0.75 per node)
470 Distribution of greaters
477 <=1: sub-population=2 (25.00%); cumulated value=2 (14.28%)
478 <=2: sub-population=6 (75.00%); cumulated value=12 (85.71%)
479 Distribution of direct greaters
486 <=0: sub-population=2 (25.00%); cumulated value=0 (0.0%)
487 <=1: sub-population=6 (75.00%); cumulated value=6 (100.00%)
488 Distribution of smallers
495 <=1: sub-population=7 (87.50%); cumulated value=7 (50.00%)
496 <=8: sub-population=1 (12.50%); cumulated value=7 (50.00%)
497 Distribution of direct smallers
504 <=0: sub-population=7 (87.50%); cumulated value=0 (0.0%)
505 <=8: sub-population=1 (12.50%); cumulated value=6 (100.00%)
507 ## All nodes of the AST
514 <=1: sub-population=10 (21.27%); cumulated value=10 (3.74%)
515 <=2: sub-population=9 (19.14%); cumulated value=18 (6.74%)
516 <=4: sub-population=10 (21.27%); cumulated value=34 (12.73%)
517 <=8: sub-population=9 (19.14%); cumulated value=54 (20.22%)
518 <=16: sub-population=5 (10.63%); cumulated value=55 (20.59%)
519 <=32: sub-population=3 (6.38%); cumulated value=57 (21.34%)
520 <=64: sub-population=1 (2.12%); cumulated value=39 (14.60%)
523 APublicVisibility: 20 (7.49%)
524 AListExprs: 19 (7.11%)
525 ACallExpr: 18 (6.74%)
529 ADecIntExpr: 10 (3.74%)
531 ASignature: 8 (2.99%)
534 ACallAssignExpr: 1 (0.37%)
536 AReturnExpr: 1 (0.37%)
537 AInterfaceClasskind: 1 (0.37%)
538 TKwinterface: 1 (0.37%)
540 AInternMethPropdef: 1 (0.37%)
541 AMainMethPropdef: 1 (0.37%)
542 AMainClassdef: 1 (0.37%)
543 ## All identifiers of the AST
550 <=1: sub-population=1 (5.26%); cumulated value=1 (1.81%)
551 <=2: sub-population=13 (68.42%); cumulated value=26 (47.27%)
552 <=4: sub-population=3 (15.78%); cumulated value=10 (18.18%)
553 <=8: sub-population=1 (5.26%); cumulated value=7 (12.72%)
554 <=16: sub-population=1 (5.26%); cumulated value=11 (20.00%)
575 --- Metrics of refinement usage ---
579 Number of interface kind: 1 (12.50%)
580 Number of enum kind: 2 (25.00%)
581 Number of class kind: 5 (62.50%)
583 Number of class definitions: 11
584 Number of refined classes: 1 (12.50%)
585 Average number of class refinments by classes: 0.37
586 Average number of class refinments by refined classes: 3.00
588 Number of properties: 20
589 Number of MAttribute: 3 (15.00%)
590 Number of MMethod: 17 (85.00%)
592 Number of property definitions: 20
593 Number of redefined properties: 0 (0.0%)
594 Average number of property redefinitions by property: 0.0
595 Average number of property redefinitions by redefined property: na
596 --- Metrics of the explitic static types ---
597 Total number of explicit static types: 9
598 Statistics of type usage:
605 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
606 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
612 --- Explicit vs. Implicit Self ---
613 Total number of self: 5
614 Total number of implicit self: 4 (80.00%)
615 --- Construction of tables ---
616 Number of runtime classes: 7 (excluding interfaces and abstract classes)
617 Average number of composing class definition by runtime class: 4.42
618 Total size of tables (classes and instances): 35 (not including stuff like info for subtyping or call-next-method)
619 Average size of table by runtime class: 5.00
620 Values never redefined: 35 (100.00%)
623 large mclasses (threshold: 2.195)
626 budding mclasses (threshold: 0.869)
629 blooming mclasses (threshold: 2.388)
632 blooming mclasses (threshold: 2.388)
638 ## project base_simple3
639 `- group base_simple3
640 cnba: number of accessible attributes (inherited + local)
646 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
649 ## project base_empty_module
650 `- group base_empty_module
651 cnba: number of accessible attributes (inherited + local)
657 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
661 cnba: number of accessible attributes (inherited + local)
667 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
669 --- Sends on Nullable Receiver ---
670 Total number of sends: 19
671 Number of sends on a nullable receiver: 0 (0.0%)
672 Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%)
674 # Inheritance metrics
676 ## project base_simple3
677 `- group base_simple3
678 cnoac: number of class_kind ancestor
684 cnopc: number of class_kind parent
690 cnocc: number of class_kind children
696 cnodc: number of class_kind descendants
702 cnopi: number of interface_kind parent
708 cnoci: number of interface_kind children
714 cnodi: number of interface_kind descendants
720 cditc: depth in class tree following only class, abstract, extern kind
726 cditi: depth in class tree following only interface_kind
732 mdui: proportion of mclass defined using inheritance (has other parent than Object)
734 max: base_simple3 (0.0)
735 min: base_simple3 (0.0)
738 mduic: proportion of class_kind defined using inheritance
740 max: base_simple3 (0.0)
741 min: base_simple3 (0.0)
744 mduii: proportion of interface_kind defined using inheritance
746 max: base_simple3 (0.0)
747 min: base_simple3 (0.0)
750 mif: proportion of mclass inherited from
752 max: base_simple3 (0.143)
753 min: base_simple3 (0.143)
756 mifc: proportion of class_kind inherited from
758 max: base_simple3 (0.0)
759 min: base_simple3 (0.0)
762 mifi: proportion of interface_kind inherited from
764 max: base_simple3 (0.143)
765 min: base_simple3 (0.143)
769 ## project base_empty_module
770 `- group base_empty_module
771 cnoac: number of class_kind ancestor
777 cnopc: number of class_kind parent
783 cnocc: number of class_kind children
789 cnodc: number of class_kind descendants
795 cnopi: number of interface_kind parent
801 cnoci: number of interface_kind children
807 cnodi: number of interface_kind descendants
813 cditc: depth in class tree following only class, abstract, extern kind
819 cditi: depth in class tree following only interface_kind
825 mdui: proportion of mclass defined using inheritance (has other parent than Object)
827 max: base_empty_module (0.0)
828 min: base_empty_module (0.0)
831 mduic: proportion of class_kind defined using inheritance
833 max: base_empty_module (0.0)
834 min: base_empty_module (0.0)
837 mduii: proportion of interface_kind defined using inheritance
839 max: base_empty_module (0.0)
840 min: base_empty_module (0.0)
843 mif: proportion of mclass inherited from
845 max: base_empty_module (0.0)
846 min: base_empty_module (0.0)
849 mifc: proportion of class_kind inherited from
851 max: base_empty_module (0.0)
852 min: base_empty_module (0.0)
855 mifi: proportion of interface_kind inherited from
857 max: base_empty_module (0.0)
858 min: base_empty_module (0.0)
863 cnoac: number of class_kind ancestor
869 cnopc: number of class_kind parent
875 cnocc: number of class_kind children
881 cnodc: number of class_kind descendants
887 cnopi: number of interface_kind parent
893 cnoci: number of interface_kind children
899 cnodi: number of interface_kind descendants
905 cditc: depth in class tree following only class, abstract, extern kind
911 cditi: depth in class tree following only interface_kind
917 mdui: proportion of mclass defined using inheritance (has other parent than Object)
919 max: base_simple3 (0.0)
920 min: base_simple3 (0.0)
923 mduic: proportion of class_kind defined using inheritance
925 max: base_simple3 (0.0)
926 min: base_simple3 (0.0)
929 mduii: proportion of interface_kind defined using inheritance
931 max: base_simple3 (0.0)
932 min: base_simple3 (0.0)
935 mif: proportion of mclass inherited from
937 max: base_simple3 (0.143)
938 min: base_empty_module (0.0)
941 mifc: proportion of class_kind inherited from
943 max: base_simple3 (0.0)
944 min: base_simple3 (0.0)
947 mifi: proportion of interface_kind inherited from
949 max: base_simple3 (0.143)
950 min: base_empty_module (0.0)
956 ## Live instances by mainmodules
957 mnlc: number of live mclasses in a mmodule
959 max: base_simple3 (6)
960 min: base_simple3 (6)
963 mnlt: number of live mtypes in a mmodule
965 max: base_simple3 (6)
966 min: base_simple3 (6)
969 mnct: number of live cast mtypes in a mmodule
971 max: base_simple3 (0)
972 min: base_simple3 (0)
975 mnli: number of live instances in a mmodule
977 max: base_simple3 (17)
978 min: base_simple3 (17)
981 mnlm: number of live methods in a mmodule
983 max: base_simple3 (14)
984 min: base_simple3 (14)
987 mnlmd: number of live method definitions in a mmodule
989 max: base_simple3 (14)
990 min: base_simple3 (14)
993 mnldd: number of dead method definitions in a mmodule
995 max: base_simple3 (0)
996 min: base_simple3 (0)
1000 ## Total live instances by mclasses
1001 cnli: number of live instances for a mclass
1007 cnlc: number of live cast for a mclass type -- nothing
1010 ## Total live instances by mtypes
1011 tnli: number of live instances for a mtype
1017 tnlc: number of live casts to a mtype -- nothing
1021 tags: arity of generic signature
1027 tdos: depth of generic signature
1036 MMethodDef locally designated (by number of CallSites)
1043 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
1044 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
1046 base_simple3#Int#output: 10 (45.45%)
1047 base_simple3#B#val: 1 (4.54%)
1048 base_simple3#B#val=: 1 (4.54%)
1049 base_simple3#C#val2: 1 (4.54%)
1050 base_simple3#C#val1: 1 (4.54%)
1052 base_simple3#A#init: 1 (4.54%)
1053 base_simple3#Object#baz: 1 (4.54%)
1054 base_simple3#Object#bar: 1 (4.54%)
1055 base_simple3#Object#foo: 1 (4.54%)
1056 base_simple3#C#init: 1 (4.54%)
1057 MMethodDef possibly invoked at runtime (by number of CallSites)
1064 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
1065 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
1067 base_simple3#Int#output: 10 (45.45%)
1068 base_simple3#B#val: 1 (4.54%)
1069 base_simple3#B#val=: 1 (4.54%)
1070 base_simple3#C#val2: 1 (4.54%)
1071 base_simple3#C#val1: 1 (4.54%)
1073 base_simple3#A#init: 1 (4.54%)
1074 base_simple3#Object#baz: 1 (4.54%)
1075 base_simple3#Object#bar: 1 (4.54%)
1076 base_simple3#Object#foo: 1 (4.54%)
1077 base_simple3#C#init: 1 (4.54%)
1078 generating out/nitmetrics_args1.write/project_hierarchy.dot
1079 generating out/nitmetrics_args1.write/module_hierarchy.dot
1081 classdef_hierarchy.dot
1087 module_hierarchy.dot
1089 project_hierarchy.dot