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)
132 ## project base_simple3
133 `- group base_simple3
134 cnoa: number of ancestor classes
140 cnop: number of parent classes
146 cnoc: number of child classes
152 cnod: number of descendant classes
158 cdit: depth in class tree
164 cnbp: number of accessible properties (inherited + local)
170 cnba: number of accessible attributes (inherited + local)
176 cnbip: number of introduced properties
182 cnbrp: number of redefined properties
188 cnbhp: number of inherited properties
196 cnoa: number of ancestor classes
202 cnop: number of parent classes
208 cnoc: number of child classes
214 cnod: number of descendant classes
220 cdit: depth in class tree
226 cnbp: number of accessible properties (inherited + local)
232 cnba: number of accessible attributes (inherited + local)
238 cnbip: number of introduced properties
244 cnbrp: number of redefined properties
250 cnbhp: number of inherited properties
256 --- Poset metrics ---
257 ## Module importation hierarchy
259 Number of edges: 1 (1.00 per node)
260 Number of direct edges: 0 (0.0 per node)
261 Distribution of greaters
268 <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
269 Distribution of direct greaters
276 <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
277 Distribution of smallers
284 <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
285 Distribution of direct smallers
292 <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
293 ## Classdef hierarchy
295 Number of edges: 13 (1.85 per node)
296 Number of direct edges: 6 (0.85 per node)
297 Distribution of greaters
304 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
305 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
306 Distribution of direct greaters
313 <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%)
314 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
315 Distribution of smallers
322 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
323 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
324 Distribution of direct smallers
331 <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%)
332 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
335 Number of edges: 13 (1.85 per node)
336 Number of direct edges: 6 (0.85 per node)
337 Distribution of greaters
344 <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
345 <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
346 Distribution of direct greaters
353 <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%)
354 <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
355 Distribution of smallers
362 <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
363 <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
364 Distribution of direct smallers
371 <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%)
372 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
374 ## All nodes of the AST
381 <=1: sub-population=13 (27.65%); cumulated value=13 (5.07%)
382 <=2: sub-population=6 (12.76%); cumulated value=12 (4.68%)
383 <=4: sub-population=10 (21.27%); cumulated value=32 (12.50%)
384 <=8: sub-population=10 (21.27%); cumulated value=61 (23.82%)
385 <=16: sub-population=4 (8.51%); cumulated value=44 (17.18%)
386 <=32: sub-population=3 (6.38%); cumulated value=55 (21.48%)
387 <=64: sub-population=1 (2.12%); cumulated value=39 (15.23%)
390 AListExprs: 19 (7.42%)
391 APublicVisibility: 18 (7.03%)
392 ACallExpr: 18 (7.03%)
395 ADecIntExpr: 10 (3.90%)
398 ASignature: 8 (3.12%)
401 ACallAssignExpr: 1 (0.39%)
402 AMainClassdef: 1 (0.39%)
403 AReturnExpr: 1 (0.39%)
405 TKwinterface: 1 (0.39%)
407 AInterfaceClasskind: 1 (0.39%)
408 AMainMethPropdef: 1 (0.39%)
410 ## All identifiers of the AST
417 <=1: sub-population=2 (10.52%); cumulated value=2 (3.70%)
418 <=2: sub-population=12 (63.15%); cumulated value=24 (44.44%)
419 <=4: sub-population=3 (15.78%); cumulated value=10 (18.51%)
420 <=8: sub-population=1 (5.26%); cumulated value=7 (12.96%)
421 <=16: sub-population=1 (5.26%); cumulated value=11 (20.37%)
442 --- Metrics of refinement usage ---
446 Number of interface kind: 1 (14.28%)
447 Number of enum kind: 2 (28.57%)
448 Number of class kind: 4 (57.14%)
450 Number of class definitions: 7
451 Number of refined classes: 0 (0.0%)
452 Average number of class refinments by classes: 0.0
453 Average number of class refinments by refined classes: na
455 Number of properties: 18
456 Number of MAttribute: 3 (16.66%)
457 Number of MMethod: 15 (83.33%)
459 Number of property definitions: 20
460 Number of redefined properties: 1 (5.55%)
461 Average number of property redefinitions by property: 0.11
462 Average number of property redefinitions by redefined property: 2.00
463 --- Explicit vs. Implicit Self ---
464 Total number of self: 5
465 Total number of implicit self: 4 (80.00%)
466 --- Construction of tables ---
467 Number of runtime classes: 6 (excluding interfaces and abstract classes)
468 Average number of composing class definition by runtime class: 2.00
469 Total size of tables (classes and instances): 38 (not including stuff like info for subtyping or call-next-method)
470 Average size of table by runtime class: 6.33
471 Values never redefined: 32 (84.21%)
472 generating out/nitmetrics_args1.write/project_hierarchy.dot
473 generating out/nitmetrics_args1.write/module_hierarchy.dot
475 # Inheritance metrics
477 ## project base_simple3
478 `- group base_simple3
479 cnoac: number of class_kind ancestor
485 cnopc: number of class_kind parent
491 cnocc: number of class_kind children
497 cnodc: number of class_kind descendants
503 cnopi: number of interface_kind parent
509 cnoci: number of interface_kind children
515 cnodi: number of interface_kind descendants
521 cditc: depth in class tree following only class, abstract, extern kind
527 cditi: depth in class tree following only interface_kind
533 mdui: proportion of mclass defined using inheritance (has other parent than Object)
535 max: base_simple3 (0.0)
536 min: base_simple3 (0.0)
539 mduic: proportion of class_kind defined using inheritance
541 max: base_simple3 (0.0)
542 min: base_simple3 (0.0)
545 mduii: proportion of interface_kind defined using inheritance
547 max: base_simple3 (0.0)
548 min: base_simple3 (0.0)
551 mif: proportion of mclass inherited from
553 max: base_simple3 (0.143)
554 min: base_simple3 (0.143)
557 mifc: proportion of class_kind inherited from
559 max: base_simple3 (0.0)
560 min: base_simple3 (0.0)
563 mifi: proportion of interface_kind inherited from
565 max: base_simple3 (0.143)
566 min: base_simple3 (0.143)
571 cnoac: number of class_kind ancestor
577 cnopc: number of class_kind parent
583 cnocc: number of class_kind children
589 cnodc: number of class_kind descendants
595 cnopi: number of interface_kind parent
601 cnoci: number of interface_kind children
607 cnodi: number of interface_kind descendants
613 cditc: depth in class tree following only class, abstract, extern kind
619 cditi: depth in class tree following only interface_kind
625 mdui: proportion of mclass defined using inheritance (has other parent than Object)
627 max: base_simple3 (0.0)
628 min: base_simple3 (0.0)
631 mduic: proportion of class_kind defined using inheritance
633 max: base_simple3 (0.0)
634 min: base_simple3 (0.0)
637 mduii: proportion of interface_kind defined using inheritance
639 max: base_simple3 (0.0)
640 min: base_simple3 (0.0)
643 mif: proportion of mclass inherited from
645 max: base_simple3 (0.143)
646 min: base_simple3 (0.143)
649 mifc: proportion of class_kind inherited from
651 max: base_simple3 (0.0)
652 min: base_simple3 (0.0)
655 mifi: proportion of interface_kind inherited from
657 max: base_simple3 (0.143)
658 min: base_simple3 (0.143)
661 --- Metrics of the explitic static types ---
662 Total number of explicit static types: 9
663 Statistics of type usage:
670 <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
671 <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
679 large mclasses (threshold: 2.291)
682 budding mclasses (threshold: 0.693)
685 blooming mclasses (threshold: 1.935)
688 blooming mclasses (threshold: 1.935)
694 ## project base_simple3
695 `- group base_simple3
696 cnba: number of accessible attributes (inherited + local)
702 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
706 cnba: number of accessible attributes (inherited + local)
712 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
714 --- Sends on Nullable Receiver ---
715 Total number of sends: 19
716 Number of sends on a nullable receiver: 0 (0.0%)
717 Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%)
721 ## Live instances by mainmodules
722 mnlc: number of live mclasses in a mmodule
724 max: base_simple3 (6)
725 min: base_simple3 (6)
728 mnlt: number of live mtypes in a mmodule
730 max: base_simple3 (6)
731 min: base_simple3 (6)
734 mnct: number of live cast mtypes in a mmodule
736 max: base_simple3 (0)
737 min: base_simple3 (0)
740 mnli: number of live instances in a mmodule
742 max: base_simple3 (17)
743 min: base_simple3 (17)
746 mnlm: number of live methods in a mmodule
748 max: base_simple3 (14)
749 min: base_simple3 (14)
752 mnlmd: number of live method definitions in a mmodule
754 max: base_simple3 (16)
755 min: base_simple3 (16)
758 mnldd: number of dead method definitions in a mmodule
760 max: base_simple3 (0)
761 min: base_simple3 (0)
765 ## Total live instances by mclasses
766 cnli: number of live instances for a mclass
772 cnlc: number of live cast for a mclass type -- nothing
775 ## Total live instances by mtypes
776 tnli: number of live instances for a mtype
782 tnlc: number of live casts to a mtype -- nothing
786 tags: arity of generic signature
792 tdos: depth of generic signature
801 MMethodDef locally designated (by number of CallSites)
808 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
809 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
811 base_simple3#Int#output: 10 (45.45%)
812 base_simple3#B#val: 1 (4.54%)
813 base_simple3#B#val=: 1 (4.54%)
814 base_simple3#C#val2: 1 (4.54%)
815 base_simple3#C#val1: 1 (4.54%)
817 base_simple3#A#init: 1 (4.54%)
818 base_simple3#Object#baz: 1 (4.54%)
819 base_simple3#Object#bar: 1 (4.54%)
820 base_simple3#Object#foo: 1 (4.54%)
821 base_simple3#C#init: 1 (4.54%)
822 MMethodDef possibly invoked at runtime (by number of CallSites)
829 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
830 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
832 base_simple3#Int#output: 10 (45.45%)
833 base_simple3#B#val: 1 (4.54%)
834 base_simple3#B#val=: 1 (4.54%)
835 base_simple3#C#val2: 1 (4.54%)
836 base_simple3#C#val1: 1 (4.54%)
838 base_simple3#A#init: 1 (4.54%)
839 base_simple3#Object#baz: 1 (4.54%)
840 base_simple3#Object#bar: 1 (4.54%)
841 base_simple3#Object#foo: 1 (4.54%)
842 base_simple3#C#init: 1 (4.54%)
844 classdef_hierarchy.dot
852 project_hierarchy.dot