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.00 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.00%)
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.00%)
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.00%)
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.00%)
372 <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
374 ## All nodes of the AST
381 <=1: sub-population=15 (31.25%); cumulated value=15 (5.74%)
382 <=2: sub-population=5 (10.41%); cumulated value=10 (3.83%)
383 <=4: sub-population=10 (20.83%); cumulated value=32 (12.26%)
384 <=8: sub-population=10 (20.83%); cumulated value=64 (24.52%)
385 <=16: sub-population=4 (8.33%); cumulated value=44 (16.85%)
386 <=32: sub-population=3 (6.25%); cumulated value=56 (21.45%)
387 <=64: sub-population=1 (2.08%); cumulated value=40 (15.32%)
390 APublicVisibility: 19 (7.27%)
391 AListExprs: 19 (7.27%)
392 ACallExpr: 18 (6.89%)
395 ADecIntExpr: 10 (3.83%)
398 ASignature: 8 (3.06%)
400 ACallAssignExpr: 1 (0.38%)
401 AAnnotations: 1 (0.38%)
402 AReturnExpr: 1 (0.38%)
404 AInterfaceClasskind: 1 (0.38%)
405 TKwinterface: 1 (0.38%)
407 AMainMethPropdef: 1 (0.38%)
408 AMainClassdef: 1 (0.38%)
410 ## All identifiers of the AST
417 <=1: sub-population=3 (15.00%); cumulated value=3 (5.45%)
418 <=2: sub-population=12 (60.00%); cumulated value=24 (43.63%)
419 <=4: sub-population=3 (15.00%); cumulated value=10 (18.18%)
420 <=8: sub-population=1 (5.00%); cumulated value=7 (12.72%)
421 <=16: sub-population=1 (5.00%); cumulated value=11 (20.00%)
443 --- Detection of variance constraints on formal parameter types ---
444 -- Generic classes --
446 non generic: 7 (100.00%)
448 total formal parameters: 0
449 -- Including `private` properties --
451 contravariants: 0 (na%)
455 -- Excluding `private` properties --
457 contravariants: 0 (na%)
461 --- Metrics of refinement usage ---
465 Number of interface kind: 1 (14.28%)
466 Number of enum kind: 2 (28.57%)
467 Number of class kind: 4 (57.14%)
469 Number of class definitions: 7
470 Number of refined classes: 0 (0.00%)
471 Average number of class refinments by classes: 0.00
472 Average number of class refinments by refined classes: na
474 Number of properties: 18
475 Number of MAttribute: 3 (16.66%)
476 Number of MMethod: 15 (83.33%)
478 Number of property definitions: 20
479 Number of redefined properties: 1 (5.55%)
480 Average number of property redefinitions by property: 0.11
481 Average number of property redefinitions by redefined property: 2.00
482 --- Explicit vs. Implicit Self ---
483 Total number of self: 5
484 Total number of implicit self: 4 (80.00%)
485 --- Construction of tables ---
486 Number of runtime classes: 6 (excluding interfaces and abstract classes)
487 Average number of composing class definition by runtime class: 2.00
488 Total size of tables (classes and instances): 38 (not including stuff like info for subtyping or call-next-method)
489 Average size of table by runtime class: 6.33
490 Values never redefined: 32 (84.21%)
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: 2.291)
701 budding mclasses (threshold: 0.693)
704 blooming mclasses (threshold: 1.935)
707 blooming mclasses (threshold: 1.935)
710 --- Detection of the usage of covariance static type conformance ---
712 - Kinds of the subtype -
714 primitive type: 6 (100.00%)
718 monomorph: 6 (100.00%)
720 - Classes of the subtype -
724 -- On covariance only --
725 - Specific covariance case explanations -
728 - Classes of the subtype, when covariance -
731 - Patterns of the covariant cases -
734 - Nodes of the covariance cases -
737 - Modules of the covariance cases -
740 - Kind of the expression node (when it make sense) -
744 - Kind of cast target -
747 - Classes of the cast -
759 ## project base_simple3
760 `- group base_simple3
761 cnba: number of accessible attributes (inherited + local)
767 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
771 cnba: number of accessible attributes (inherited + local)
777 cnbna: number of accessible nullable attributes (inherited + local) -- nothing
779 --- Sends on Nullable Receiver ---
780 Total number of sends: 19
781 Number of sends on a nullable receiver: 0 (0.00%)
782 Number of buggy sends (cannot determine the type of the receiver): 0 (0.00%)
786 ## Live instances by mainmodules
787 mnlc: number of live mclasses in a mmodule
789 max: base_simple3 (6)
790 min: base_simple3 (6)
793 mnlt: number of live mtypes in a mmodule
795 max: base_simple3 (6)
796 min: base_simple3 (6)
799 mnct: number of live cast mtypes in a mmodule
801 max: base_simple3 (0)
802 min: base_simple3 (0)
805 mnli: number of live instances in a mmodule
807 max: base_simple3 (17)
808 min: base_simple3 (17)
811 mnlm: number of live methods in a mmodule
813 max: base_simple3 (14)
814 min: base_simple3 (14)
817 mnlmd: number of live method definitions in a mmodule
819 max: base_simple3 (16)
820 min: base_simple3 (16)
823 mnldd: number of dead method definitions in a mmodule
825 max: base_simple3 (0)
826 min: base_simple3 (0)
830 ## Total live instances by mclasses
831 cnli: number of live instances for a mclass
837 cnlc: number of live cast for a mclass type -- nothing
840 ## Total live instances by mtypes
841 tnli: number of live instances for a mtype
847 tnlc: number of live casts to a mtype -- nothing
851 tags: arity of generic signature
857 tdos: depth of generic signature
866 MMethodDef locally designated (by number of CallSites)
873 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
874 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
876 base_simple3#Int#output: 10 (45.45%)
877 base_simple3#B#val: 1 (4.54%)
878 base_simple3#B#val=: 1 (4.54%)
879 base_simple3#C#val2: 1 (4.54%)
880 base_simple3#C#val1: 1 (4.54%)
882 base_simple3#A#init: 1 (4.54%)
883 base_simple3#Object#baz: 1 (4.54%)
884 base_simple3#Object#bar: 1 (4.54%)
885 base_simple3#Object#foo: 1 (4.54%)
886 base_simple3#C#init: 1 (4.54%)
887 MMethodDef possibly invoked at runtime (by number of CallSites)
894 <=1: sub-population=12 (92.30%); cumulated value=12 (54.54%)
895 <=16: sub-population=1 (7.69%); cumulated value=10 (45.45%)
897 base_simple3#Int#output: 10 (45.45%)
898 base_simple3#B#val: 1 (4.54%)
899 base_simple3#B#val=: 1 (4.54%)
900 base_simple3#C#val2: 1 (4.54%)
901 base_simple3#C#val1: 1 (4.54%)
903 base_simple3#A#init: 1 (4.54%)
904 base_simple3#Object#baz: 1 (4.54%)
905 base_simple3#Object#bar: 1 (4.54%)
906 base_simple3#Object#foo: 1 (4.54%)
907 base_simple3#C#init: 1 (4.54%)
909 classdef_hierarchy.dot
917 project_hierarchy.dot