5 ## project base_simple3
7 mnoa: number of ancestor modules
12 mnop: number of parent modules
17 mnoc: number of child modules
22 mnod: number of descendant modules
27 mdit: depth in module tree
32 mnbi: number of introduction in module
37 mnbr: number of refinement in module
42 mnbcc: number of concrete class in module (intro + redef)
47 mnbac: number of abstract class in module (intro + redef)
52 mnbic: number of interface in module (intro + redef)
58 ## project base_empty_module
59 `- group base_empty_module
60 mnoa: number of ancestor modules
65 mnop: number of parent modules
70 mnoc: number of child modules
75 mnod: number of descendant modules
80 mdit: depth in module tree
85 mnbi: number of introduction in module
88 min: base_empty_module (1)
90 mnbr: number of refinement in module
93 min: base_empty_module (0)
95 mnbcc: number of concrete class in module (intro + redef)
98 min: base_empty_module (1)
100 mnbac: number of abstract class in module (intro + redef)
102 max: base_simple3 (0)
103 min: base_simple3 (0)
105 mnbic: number of interface in module (intro + redef)
107 max: base_simple3 (2)
108 min: base_empty_module (0)
112 mnoa: number of ancestor modules
114 max: base_simple3 (0)
115 min: base_simple3 (0)
117 mnop: number of parent modules
119 max: base_simple3 (0)
120 min: base_simple3 (0)
122 mnoc: number of child modules
124 max: base_simple3 (1)
125 min: base_simple3 (1)
127 mnod: number of descendant modules
129 max: base_simple3 (1)
130 min: base_simple3 (1)
132 mdit: depth in module tree
134 max: base_simple3 (0)
135 min: base_simple3 (0)
137 mnbi: number of introduction in module
139 max: base_simple3 (7)
140 min: base_empty_module (1)
142 mnbr: number of refinement in module
144 max: base_simple3 (1)
145 min: base_empty_module (0)
147 mnbcc: number of concrete class in module (intro + redef)
149 max: base_simple3 (4)
150 min: base_empty_module (1)
152 mnbac: number of abstract class in module (intro + redef)
154 max: base_simple3 (0)
155 min: base_simple3 (0)
157 mnbic: number of interface in module (intro + redef)
159 max: base_simple3 (2)
160 min: base_empty_module (0)
165 ## project base_simple3
166 `- group base_simple3
167 cnoa: number of ancestor classes
172 cnop: number of parent classes
177 cnoc: number of child classes
182 cnod: number of descendant classes
187 cdit: depth in class tree
192 cnbip: number of introduced properties
197 cnbrp: number of redefined properties
202 cnbhp: number of inherited properties
208 ## project base_empty_module
209 `- group base_empty_module
210 cnoa: number of ancestor classes
215 cnop: number of parent classes
220 cnoc: number of child classes
225 cnod: number of descendant classes
230 cdit: depth in class tree
235 cnbip: number of introduced properties
240 cnbrp: number of redefined properties
245 cnbhp: number of inherited properties
252 cnoa: number of ancestor classes
257 cnop: number of parent classes
262 cnoc: number of child classes
267 cnod: number of descendant classes
272 cdit: depth in class tree
277 cnbip: number of introduced properties
282 cnbrp: number of redefined properties
287 cnbhp: number of inherited properties
292 --- Poset metrics ---
293 ## Module importation hierarchy
295 Number of edges: 5 (1.66 per node)
296 Number of direct edges: 2 (0.66 per node)
297 Distribution of greaters
304 <=1: sub-population=2 (66.66%); cumulated value=2 (40.00%)
305 <=4: sub-population=1 (33.33%); cumulated value=3 (60.00%)
306 Distribution of direct greaters
313 <=0: sub-population=2 (66.66%); cumulated value=0 (0.0%)
314 <=2: sub-population=1 (33.33%); cumulated value=2 (100.00%)
315 Distribution of smallers
322 <=1: sub-population=1 (33.33%); cumulated value=1 (20.00%)
323 <=2: sub-population=2 (66.66%); cumulated value=4 (80.00%)
324 Distribution of direct smallers
331 <=0: sub-population=1 (33.33%); cumulated value=0 (0.0%)
332 <=1: sub-population=2 (66.66%); cumulated value=2 (100.00%)
333 ## Classdef hierarchy
335 Number of edges: 23 (2.55 per node)
336 Number of direct edges: 7 (0.77 per node)
337 Distribution of greaters
344 <=1: sub-population=1 (11.11%); cumulated value=1 (4.34%)
345 <=2: sub-population=2 (22.22%); cumulated value=4 (17.39%)
346 <=4: sub-population=6 (66.66%); cumulated value=18 (78.26%)
347 Distribution of direct greaters
354 <=0: sub-population=2 (22.22%); cumulated value=0 (0.0%)
355 <=1: sub-population=7 (77.77%); cumulated value=7 (100.00%)
356 Distribution of smallers
363 <=1: sub-population=7 (77.77%); cumulated value=7 (30.43%)
364 <=8: sub-population=2 (22.22%); cumulated value=16 (69.56%)
365 Distribution of direct smallers
372 <=0: sub-population=7 (77.77%); cumulated value=0 (0.0%)
373 <=1: sub-population=1 (11.11%); cumulated value=1 (14.28%)
374 <=8: sub-population=1 (11.11%); cumulated value=6 (85.71%)
377 Number of edges: 14 (1.75 per node)
378 Number of direct edges: 6 (0.75 per node)
379 Distribution of greaters
386 <=1: sub-population=2 (25.00%); cumulated value=2 (14.28%)
387 <=2: sub-population=6 (75.00%); cumulated value=12 (85.71%)
388 Distribution of direct greaters
395 <=0: sub-population=2 (25.00%); cumulated value=0 (0.0%)
396 <=1: sub-population=6 (75.00%); cumulated value=6 (100.00%)
397 Distribution of smallers
404 <=1: sub-population=7 (87.50%); cumulated value=7 (50.00%)
405 <=8: sub-population=1 (12.50%); cumulated value=7 (50.00%)
406 Distribution of direct smallers
413 <=0: sub-population=7 (87.50%); cumulated value=0 (0.0%)
414 <=8: sub-population=1 (12.50%); cumulated value=6 (100.00%)
416 ## All nodes of the AST
423 <=1: sub-population=11 (23.40%); cumulated value=11 (4.15%)
424 <=2: sub-population=9 (19.14%); cumulated value=18 (6.79%)
425 <=4: sub-population=9 (19.14%); cumulated value=31 (11.69%)
426 <=8: sub-population=9 (19.14%); cumulated value=54 (20.37%)
427 <=16: sub-population=5 (10.63%); cumulated value=55 (20.75%)
428 <=32: sub-population=3 (6.38%); cumulated value=57 (21.50%)
429 <=64: sub-population=1 (2.12%); cumulated value=39 (14.71%)
432 APublicVisibility: 20 (7.54%)
433 AListExprs: 19 (7.16%)
434 ACallExpr: 18 (6.79%)
440 ASignature: 8 (3.01%)
442 ACallAssignExpr: 1 (0.37%)
444 AInternMethPropdef: 1 (0.37%)
445 ATopClassdef: 1 (0.37%)
446 AInterfaceClasskind: 1 (0.37%)
447 TKwinterface: 1 (0.37%)
448 AReturnExpr: 1 (0.37%)
450 AMainMethPropdef: 1 (0.37%)
451 AMainClassdef: 1 (0.37%)
452 ## All identifiers of the AST
459 <=1: sub-population=1 (5.26%); cumulated value=1 (1.81%)
460 <=2: sub-population=13 (68.42%); cumulated value=26 (47.27%)
461 <=4: sub-population=3 (15.78%); cumulated value=10 (18.18%)
462 <=8: sub-population=1 (5.26%); cumulated value=7 (12.72%)
463 <=16: sub-population=1 (5.26%); cumulated value=11 (20.00%)
484 --- Metrics of refinement usage ---
488 Number of interface kind: 1 (12.50%)
489 Number of enum kind: 2 (25.00%)
490 Number of class kind: 5 (62.50%)
492 Number of class definitions: 9
493 Number of refined classes: 1 (12.50%)
494 Average number of class refinments by classes: 0.12
495 Average number of class refinments by refined classes: 1.00
497 Number of properties: 20
498 Number of MAttribute: 3 (15.00%)
499 Number of MMethod: 17 (85.00%)
501 Number of property definitions: 20
502 Number of redefined properties: 0 (0.0%)
503 Average number of property redefinitions by property: 0.0
504 Average number of property redefinitions by redefined property: na
505 --- Metrics of the explitic static types ---
506 Total number of explicit static types: 9
507 Statistics of type usage:
514 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
515 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
521 --- Sends on Nullable Receiver ---
522 Total number of sends: 19
523 Number of sends on a nullable receiver: 0 (0.0%)
524 Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%)
525 --- Explicit vs. Implicit Self ---
526 Total number of self: 5
527 Total number of implicit self: 4 (80.00%)
528 --- Construction of tables ---
529 Number of runtime classes: 7 (excluding interfaces and abstract classes)
530 Average number of composing class definition by runtime class: 2.71
531 Total size of tables (classes and instances): 35 (not including stuff like info for subtyping or call-next-method)
532 Average size of table by runtime class: 5.00
533 Values never redefined: 35 (100.00%)
536 large mclasses (threshold: 2.195)
539 budding mclasses (threshold: 0.869)
542 blooming mclasses (threshold: 2.388)
545 blooming mclasses (threshold: 2.388)
548 generating out/nitmetrics_args1.write/project_hierarchy.dot
549 generating out/nitmetrics_args1.write/module_hierarchy.dot
551 # Inheritance metrics
553 ## project base_simple3
554 `- group base_simple3
555 cnoac: number of class_kind ancestor
560 cnopc: number of class_kind parent
565 cnocc: number of class_kind children
570 cnodc: number of class_kind descendants
575 cnopi: number of interface_kind parent
580 cnoci: number of interface_kind children
585 cnodi: number of interface_kind descendants
590 cditc: depth in class tree following only class, abstract, extern kind
595 cditi: depth in class tree following only interface_kind
600 mdui: proportion of mclass defined using inheritance (has other parent than Object)
602 max: base_simple3 (0.0)
603 min: base_simple3 (0.0)
605 mduic: proportion of class_kind defined using inheritance
607 max: base_simple3 (0.0)
608 min: base_simple3 (0.0)
610 mduii: proportion of interface_kind defined using inheritance
612 max: base_simple3 (0.0)
613 min: base_simple3 (0.0)
615 mif: proportion of mclass inherited from
617 max: base_simple3 (0.143)
618 min: base_simple3 (0.143)
620 mifc: proportion of class_kind inherited from
622 max: base_simple3 (0.0)
623 min: base_simple3 (0.0)
625 mifi: proportion of interface_kind inherited from
627 max: base_simple3 (0.143)
628 min: base_simple3 (0.143)
631 ## project base_empty_module
632 `- group base_empty_module
633 cnoac: number of class_kind ancestor
638 cnopc: number of class_kind parent
643 cnocc: number of class_kind children
648 cnodc: number of class_kind descendants
653 cnopi: number of interface_kind parent
658 cnoci: number of interface_kind children
663 cnodi: number of interface_kind descendants
668 cditc: depth in class tree following only class, abstract, extern kind
673 cditi: depth in class tree following only interface_kind
678 mdui: proportion of mclass defined using inheritance (has other parent than Object)
680 max: base_simple3 (0.0)
681 min: base_simple3 (0.0)
683 mduic: proportion of class_kind defined using inheritance
685 max: base_simple3 (0.0)
686 min: base_simple3 (0.0)
688 mduii: proportion of interface_kind defined using inheritance
690 max: base_simple3 (0.0)
691 min: base_simple3 (0.0)
693 mif: proportion of mclass inherited from
695 max: base_simple3 (0.143)
696 min: base_empty_module (0.0)
698 mifc: proportion of class_kind inherited from
700 max: base_simple3 (0.0)
701 min: base_simple3 (0.0)
703 mifi: proportion of interface_kind inherited from
705 max: base_simple3 (0.143)
706 min: base_empty_module (0.0)
710 cnoac: number of class_kind ancestor
715 cnopc: number of class_kind parent
720 cnocc: number of class_kind children
725 cnodc: number of class_kind descendants
730 cnopi: number of interface_kind parent
735 cnoci: number of interface_kind children
740 cnodi: number of interface_kind descendants
745 cditc: depth in class tree following only class, abstract, extern kind
750 cditi: depth in class tree following only interface_kind
755 mdui: proportion of mclass defined using inheritance (has other parent than Object)
757 max: base_simple3 (0.0)
758 min: base_simple3 (0.0)
760 mduic: proportion of class_kind defined using inheritance
762 max: base_simple3 (0.0)
763 min: base_simple3 (0.0)
765 mduii: proportion of interface_kind defined using inheritance
767 max: base_simple3 (0.0)
768 min: base_simple3 (0.0)
770 mif: proportion of mclass inherited from
772 max: base_simple3 (0.143)
773 min: base_empty_module (0.0)
775 mifc: proportion of class_kind inherited from
777 max: base_simple3 (0.0)
778 min: base_simple3 (0.0)
780 mifi: proportion of interface_kind inherited from
782 max: base_simple3 (0.143)
783 min: base_empty_module (0.0)
788 ## Live instances by mainmodules
789 mnlc: number of live mclasses in a mmodule
794 mnlt: number of live mtypes in a mmodule
799 mnct: number of live cast mtypes in a mmodule
804 mnli: number of live instances in a mmodule
809 mnlm: number of live methods in a mmodule
814 mnlmd: number of live method definitions in a mmodule
819 mnldd: number of dead method definitions in a mmodule
825 ## Total live instances by mclasses
826 cnli: number of live instances for a mclass
831 cnlc: number of live cast for a mclass type -- nothing
833 ## Total live instances by mtypes
834 tnli: number of live instances for a mtype
839 tnlc: number of live casts to a mtype -- nothing
842 tags: arity of generic signature
847 tdos: depth of generic signature
855 MMethodDef locally designated (by number of CallSites)
862 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
863 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
865 base_simple3#Int#output: 10 (45.45%)
866 base_simple3#B#val: 1 (4.54%)
867 base_simple3#B#val=: 1 (4.54%)
868 base_simple3#C#val2: 1 (4.54%)
869 base_simple3#C#val1: 1 (4.54%)
871 base_simple3#A#init: 1 (4.54%)
872 base_simple3#Object#baz: 1 (4.54%)
873 base_simple3#Object#bar: 1 (4.54%)
874 base_simple3#Object#foo: 1 (4.54%)
875 base_simple3#C#init: 1 (4.54%)
876 MMethodDef possibly invoked at runtime (by number of CallSites)
883 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
884 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
886 base_simple3#Int#output: 10 (45.45%)
887 base_simple3#B#val: 1 (4.54%)
888 base_simple3#B#val=: 1 (4.54%)
889 base_simple3#C#val2: 1 (4.54%)
890 base_simple3#C#val1: 1 (4.54%)
892 base_simple3#A#init: 1 (4.54%)
893 base_simple3#Object#baz: 1 (4.54%)
894 base_simple3#Object#bar: 1 (4.54%)
895 base_simple3#Object#foo: 1 (4.54%)
896 base_simple3#C#init: 1 (4.54%)
898 classdef_hierarchy.dot
905 project_hierarchy.dot