metrics/rta: save the list of live things in files
[nit.git] / tests / sav / nitmetrics_args1.res
1 Runtime error: Assert failed (../src/metrics/metrics_base.nit:223)
2 *** METRICS ***
3
4 # MModules metrics
5
6  ## project base_simple3
7   `- group base_simple3
8         mnoa: number of ancestor modules
9           avg: 0.0
10           max: base_simple3 (0)
11           min: base_simple3 (0)
12           std: 0.0
13         mnop: number of parent modules
14           avg: 0.0
15           max: base_simple3 (0)
16           min: base_simple3 (0)
17           std: 0.0
18         mnoc: number of child modules
19           avg: 0.0
20           max: base_simple3 (0)
21           min: base_simple3 (0)
22           std: 0.0
23         mnod: number of descendant modules
24           avg: 0.0
25           max: base_simple3 (0)
26           min: base_simple3 (0)
27           std: 0.0
28         mdit: depth in module tree
29           avg: 0.0
30           max: base_simple3 (0)
31           min: base_simple3 (0)
32           std: 0.0
33         mnbi: number of introduction in module
34           avg: 7.0
35           max: base_simple3 (7)
36           min: base_simple3 (7)
37           std: 0.0
38         mnbr: number of refinement in module
39           avg: 1.0
40           max: base_simple3 (1)
41           min: base_simple3 (1)
42           std: 0.0
43         mnbcc: number of concrete class in module (intro + redef)
44           avg: 4.0
45           max: base_simple3 (4)
46           min: base_simple3 (4)
47           std: 0.0
48         mnbac: number of abstract class in module (intro + redef)
49           avg: 0.0
50           max: base_simple3 (0)
51           min: base_simple3 (0)
52           std: 0.0
53         mnbic: number of interface in module (intro + redef)
54           avg: 2.0
55           max: base_simple3 (2)
56           min: base_simple3 (2)
57           std: 0.0
58
59  ## global metrics
60         mnoa: number of ancestor modules
61           avg: 0.0
62           max: base_simple3 (0)
63           min: base_simple3 (0)
64           std: 0.0
65         mnop: number of parent modules
66           avg: 0.0
67           max: base_simple3 (0)
68           min: base_simple3 (0)
69           std: 0.0
70         mnoc: number of child modules
71           avg: 0.0
72           max: base_simple3 (0)
73           min: base_simple3 (0)
74           std: 0.0
75         mnod: number of descendant modules
76           avg: 0.0
77           max: base_simple3 (0)
78           min: base_simple3 (0)
79           std: 0.0
80         mdit: depth in module tree
81           avg: 0.0
82           max: base_simple3 (0)
83           min: base_simple3 (0)
84           std: 0.0
85         mnbi: number of introduction in module
86           avg: 14.0
87           max: base_simple3 (7)
88           min: base_simple3 (7)
89           std: 7.0
90         mnbr: number of refinement in module
91           avg: 2.0
92           max: base_simple3 (1)
93           min: base_simple3 (1)
94           std: 1.0
95         mnbcc: number of concrete class in module (intro + redef)
96           avg: 8.0
97           max: base_simple3 (4)
98           min: base_simple3 (4)
99           std: 4.0
100         mnbac: number of abstract class in module (intro + redef)
101           avg: 0.0
102           max: base_simple3 (0)
103           min: base_simple3 (0)
104           std: 0.0
105         mnbic: number of interface in module (intro + redef)
106           avg: 4.0
107           max: base_simple3 (2)
108           min: base_simple3 (2)
109           std: 2.0
110
111 # MClasses metrics
112
113  ## project base_simple3
114   `- group base_simple3
115         cnoa: number of ancestor classes
116           avg: 0.0
117           max: Bool (1)
118           min: Object (0)
119           std: 0.926
120         cnop: number of parent classes
121           avg: 0.0
122           max: Bool (1)
123           min: Object (0)
124           std: 0.926
125         cnoc: number of child classes
126           avg: 0.0
127           max: Object (6)
128           min: Bool (0)
129           std: 2.268
130         cnod: number of descendant classes
131           avg: 0.0
132           max: Object (6)
133           min: Bool (0)
134           std: 2.268
135         cdit: depth in class tree
136           avg: 0.0
137           max: Bool (1)
138           min: Object (0)
139           std: 0.926
140         cnbip: number of introduced properties
141           avg: 2.0
142           max: C (7)
143           min: Bool (0)
144           std: 2.42
145         cnbrp: number of redefined properties
146           avg: 0.0
147           max: Object (0)
148           min: Object (0)
149           std: 0.0
150         cnbhp: number of inherited properties
151           avg: 2.0
152           max: Bool (3)
153           min: Object (0)
154           std: 1.195
155
156  ## global metrics
157         cnoa: number of ancestor classes
158           avg: 0.0
159           max: Bool (1)
160           min: Object (0)
161           std: 0.926
162         cnop: number of parent classes
163           avg: 0.0
164           max: Bool (1)
165           min: Object (0)
166           std: 0.926
167         cnoc: number of child classes
168           avg: 0.0
169           max: Object (6)
170           min: Bool (0)
171           std: 2.268
172         cnod: number of descendant classes
173           avg: 0.0
174           max: Object (6)
175           min: Bool (0)
176           std: 2.268
177         cdit: depth in class tree
178           avg: 0.0
179           max: Bool (1)
180           min: Object (0)
181           std: 0.926
182         cnbip: number of introduced properties
183           avg: 2.0
184           max: C (7)
185           min: Bool (0)
186           std: 2.42
187         cnbrp: number of redefined properties
188           avg: 0.0
189           max: Object (0)
190           min: Object (0)
191           std: 0.0
192         cnbhp: number of inherited properties
193           avg: 2.0
194           max: Bool (3)
195           min: Object (0)
196           std: 1.195
197 --- Poset metrics ---
198 ## Module importation hierarchy
199 Number of nodes: 1
200 Number of edges: 1 (1.00 per node)
201 Number of direct edges: 0 (0.0 per node)
202 Distribution of greaters
203  population: 1
204  minimum value: 1
205  maximum value: 1
206  total value: 1
207  average value: 1.00
208  distribution:
209   <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
210 Distribution of direct greaters
211  population: 1
212  minimum value: 0
213  maximum value: 0
214  total value: 0
215  average value: 0.0
216  distribution:
217   <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
218 Distribution of smallers
219  population: 1
220  minimum value: 1
221  maximum value: 1
222  total value: 1
223  average value: 1.00
224  distribution:
225   <=1: sub-population=1 (100.00%); cumulated value=1 (100.00%)
226 Distribution of direct smallers
227  population: 1
228  minimum value: 0
229  maximum value: 0
230  total value: 0
231  average value: 0.0
232  distribution:
233   <=0: sub-population=1 (100.00%); cumulated value=0 (na%)
234 ## Classdef hierarchy
235 Number of nodes: 8
236 Number of edges: 22 (2.75 per node)
237 Number of direct edges: 7 (0.87 per node)
238 Distribution of greaters
239  population: 8
240  minimum value: 2
241  maximum value: 3
242  total value: 22
243  average value: 2.75
244  distribution:
245   <=2: sub-population=2 (25.00%); cumulated value=4 (18.18%)
246   <=4: sub-population=6 (75.00%); cumulated value=18 (81.81%)
247 Distribution of direct greaters
248  population: 8
249  minimum value: 0
250  maximum value: 1
251  total value: 7
252  average value: 0.87
253  distribution:
254   <=0: sub-population=1 (12.50%); cumulated value=0 (0.0%)
255   <=1: sub-population=7 (87.50%); cumulated value=7 (100.00%)
256 Distribution of smallers
257  population: 8
258  minimum value: 1
259  maximum value: 8
260  total value: 22
261  average value: 2.75
262  distribution:
263   <=1: sub-population=6 (75.00%); cumulated value=6 (27.27%)
264   <=8: sub-population=2 (25.00%); cumulated value=16 (72.72%)
265 Distribution of direct smallers
266  population: 8
267  minimum value: 0
268  maximum value: 6
269  total value: 7
270  average value: 0.87
271  distribution:
272   <=0: sub-population=6 (75.00%); cumulated value=0 (0.0%)
273   <=1: sub-population=1 (12.50%); cumulated value=1 (14.28%)
274   <=8: sub-population=1 (12.50%); cumulated value=6 (85.71%)
275 ## Class hierarchy
276 Number of nodes: 7
277 Number of edges: 13 (1.85 per node)
278 Number of direct edges: 6 (0.85 per node)
279 Distribution of greaters
280  population: 7
281  minimum value: 1
282  maximum value: 2
283  total value: 13
284  average value: 1.85
285  distribution:
286   <=1: sub-population=1 (14.28%); cumulated value=1 (7.69%)
287   <=2: sub-population=6 (85.71%); cumulated value=12 (92.30%)
288 Distribution of direct greaters
289  population: 7
290  minimum value: 0
291  maximum value: 1
292  total value: 6
293  average value: 0.85
294  distribution:
295   <=0: sub-population=1 (14.28%); cumulated value=0 (0.0%)
296   <=1: sub-population=6 (85.71%); cumulated value=6 (100.00%)
297 Distribution of smallers
298  population: 7
299  minimum value: 1
300  maximum value: 7
301  total value: 13
302  average value: 1.85
303  distribution:
304   <=1: sub-population=6 (85.71%); cumulated value=6 (46.15%)
305   <=8: sub-population=1 (14.28%); cumulated value=7 (53.84%)
306 Distribution of direct smallers
307  population: 7
308  minimum value: 0
309  maximum value: 6
310  total value: 6
311  average value: 0.85
312  distribution:
313   <=0: sub-population=6 (85.71%); cumulated value=0 (0.0%)
314   <=8: sub-population=1 (14.28%); cumulated value=6 (100.00%)
315 --- AST Metrics ---
316 ## All nodes of the AST
317  population: 47
318  minimum value: 1
319  maximum value: 39
320  total value: 254
321  average value: 5.40
322  distribution:
323   <=1: sub-population=14 (29.78%); cumulated value=14 (5.51%)
324   <=2: sub-population=6 (12.76%); cumulated value=12 (4.72%)
325   <=4: sub-population=9 (19.14%); cumulated value=29 (11.41%)
326   <=8: sub-population=10 (21.27%); cumulated value=61 (24.01%)
327   <=16: sub-population=4 (8.51%); cumulated value=44 (17.32%)
328   <=32: sub-population=3 (6.38%); cumulated value=55 (21.65%)
329   <=64: sub-population=1 (2.12%); cumulated value=39 (15.35%)
330  list:
331   TId: 39 (15.35%)
332   AListExprs: 19 (7.48%)
333   APublicVisibility: 18 (7.08%)
334   ACallExpr: 18 (7.08%)
335   TClassid: 15 (5.90%)
336   TNumber: 10 (3.93%)
337   AIntExpr: 10 (3.93%)
338   AType: 9 (3.54%)
339   TKwend: 8 (3.14%)
340   ASignature: 8 (3.14%)
341   ...
342   AModule: 1 (0.39%)
343   AMainClassdef: 1 (0.39%)
344   ATopClassdef: 1 (0.39%)
345   TKwreturn: 1 (0.39%)
346   AReturnExpr: 1 (0.39%)
347   TKwinterface: 1 (0.39%)
348   ANoImport: 1 (0.39%)
349   AInterfaceClasskind: 1 (0.39%)
350   AMainMethPropdef: 1 (0.39%)
351   TKwimport: 1 (0.39%)
352 ## All identifiers of the AST
353  population: 19
354  minimum value: 1
355  maximum value: 11
356  total value: 54
357  average value: 2.84
358  distribution:
359   <=1: sub-population=2 (10.52%); cumulated value=2 (3.70%)
360   <=2: sub-population=12 (63.15%); cumulated value=24 (44.44%)
361   <=4: sub-population=3 (15.78%); cumulated value=10 (18.51%)
362   <=8: sub-population=1 (5.26%); cumulated value=7 (12.96%)
363   <=16: sub-population=1 (5.26%); cumulated value=11 (20.37%)
364  list:
365   output: 11 (20.37%)
366   Int: 7 (12.96%)
367   run: 4 (7.40%)
368   c: 3 (5.55%)
369   val: 3 (5.55%)
370   i: 2 (3.70%)
371   bar: 2 (3.70%)
372   foo: 2 (3.70%)
373   val2: 2 (3.70%)
374   val1: 2 (3.70%)
375   C: 2 (3.70%)
376   v: 2 (3.70%)
377   baz: 2 (3.70%)
378   a: 2 (3.70%)
379   A: 2 (3.70%)
380   B: 2 (3.70%)
381   b: 2 (3.70%)
382   Object: 1 (1.85%)
383   Bool: 1 (1.85%)
384 --- Metrics of refinement usage ---
385 Number of modules: 1
386
387 Number of classes: 7
388   Number of interface kind: 1 (14.28%)
389   Number of enum kind: 2 (28.57%)
390   Number of class kind: 4 (57.14%)
391
392 Number of class definitions: 8
393 Number of refined classes: 1 (14.28%)
394 Average number of class refinments by classes: 0.14
395 Average number of class refinments by refined classes: 1.00
396
397 Number of properties: 19
398   Number of MAttribute: 3 (15.78%)
399   Number of MMethod: 16 (84.21%)
400
401 Number of property definitions: 19
402 Number of redefined properties: 0 (0.0%)
403 Average number of property redefinitions by property: 0.0
404 Average number of property redefinitions by redefined property: na
405 --- Metrics of the explitic static types ---
406 Total number of explicit static types: 9
407 Statistics of type usage:
408  population: 4
409  minimum value: 1
410  maximum value: 6
411  total value: 9
412  average value: 2.25
413  distribution:
414   <=1: sub-population=3 (75.00%); cumulated value=3 (33.33%)
415   <=8: sub-population=1 (25.00%); cumulated value=6 (66.66%)
416  list:
417   Int: 6 (66.66%)
418   C: 1 (11.11%)
419   B: 1 (11.11%)
420   A: 1 (11.11%)
421 --- Sends on Nullable Receiver ---
422 Total number of sends: 19
423 Number of sends on a nullable receiver: 0 (0.0%)
424 Number of buggy sends (cannot determine the type of the receiver): 0 (0.0%)
425 --- Explicit vs. Implicit Self ---
426 Total number of self: 5
427 Total number of implicit self: 4 (80.00%)
428 --- Construction of tables ---
429 Number of runtime classes: 6 (excluding interfaces and abstract classes)
430 Average number of composing class definition by runtime class: 3.00
431 Total size of tables (classes and instances): 34 (not including stuff like info for subtyping or call-next-method)
432 Average size of table by runtime class: 5.66
433 Values never redefined: 34 (100.00%)
434
435 # Mendel metrics
436         large mclasses (threshold: 2.291)
437            B: 3
438            C: 3
439         budding mclasses (threshold: 0.924)
440            B: 1.0
441            C: 1.0
442         blooming mclasses (threshold: 2.581)
443            B: 3.0
444            C: 3.0
445         blooming mclasses (threshold: 2.581)
446            B: 3.0
447            C: 3.0
448 generating out/nitmetrics_args1.write/project_hierarchy.dot
449 generating out/nitmetrics_args1.write/module_hierarchy.dot
450
451 # Inheritance metrics
452
453  ## project base_simple3
454   `- group base_simple3
455         cnoac: number of class_kind ancestor
456           avg: 0.0
457           max: Object (0)
458           min: Object (0)
459           std: 0.0
460         cnopc: number of class_kind parent
461           avg: 0.0
462           max: Object (0)
463           min: Object (0)
464           std: 0.0
465         cnocc: number of class_kind children
466           avg: 0.0
467           max: Object (4)
468           min: Bool (0)
469           std: 1.512
470         cnodc: number of class_kind descendants
471           avg: 0.0
472           max: Object (4)
473           min: Bool (0)
474           std: 1.512
475         cnopi: number of interface_kind parent
476           avg: 0.0
477           max: Bool (1)
478           min: Object (0)
479           std: 0.926
480         cnoci: number of interface_kind children
481           avg: 0.0
482           max: Object (0)
483           min: Object (0)
484           std: 0.0
485         cnodi: number of interface_kind descendants
486           avg: 0.0
487           max: Object (0)
488           min: Object (0)
489           std: 0.0
490         cditc: depth in class tree following only class, abstract, extern kind
491           avg: 0.0
492           max: Object (0)
493           min: Object (0)
494           std: 0.0
495         cditi: depth in class tree following only interface_kind
496           avg: 0.0
497           max: Bool (1)
498           min: Object (0)
499           std: 0.926
500         mdui: proportion of mclass defined using inheritance (has other parent than Object)
501           avg: 0.0
502           max: base_simple3 (0.0)
503           min: base_simple3 (0.0)
504           std: 0.0
505         mduic: proportion of class_kind defined using inheritance
506           avg: 0.0
507           max: base_simple3 (0.0)
508           min: base_simple3 (0.0)
509           std: 0.0
510         mduii: proportion of interface_kind defined using inheritance
511           avg: 0.0
512           max: base_simple3 (0.0)
513           min: base_simple3 (0.0)
514           std: 0.0
515         mif: proportion of mclass inherited from
516           avg: 0.143
517           max: base_simple3 (0.143)
518           min: base_simple3 (0.143)
519           std: 0.0
520         mifc: proportion of class_kind inherited from
521           avg: 0.0
522           max: base_simple3 (0.0)
523           min: base_simple3 (0.0)
524           std: 0.0
525         mifi: proportion of interface_kind inherited from
526           avg: 0.143
527           max: base_simple3 (0.143)
528           min: base_simple3 (0.143)
529           std: 0.0
530
531  ## global metrics
532         cnoac: number of class_kind ancestor
533           avg: 0.0
534           max: Object (0)
535           min: Object (0)
536           std: 0.0
537         cnopc: number of class_kind parent
538           avg: 0.0
539           max: Object (0)
540           min: Object (0)
541           std: 0.0
542         cnocc: number of class_kind children
543           avg: 1.0
544           max: Object (4)
545           min: Bool (0)
546           std: 1.464
547         cnodc: number of class_kind descendants
548           avg: 1.0
549           max: Object (4)
550           min: Bool (0)
551           std: 1.464
552         cnopi: number of interface_kind parent
553           avg: 1.0
554           max: Bool (1)
555           min: Object (0)
556           std: 0.378
557         cnoci: number of interface_kind children
558           avg: 0.0
559           max: Object (0)
560           min: Object (0)
561           std: 0.0
562         cnodi: number of interface_kind descendants
563           avg: 0.0
564           max: Object (0)
565           min: Object (0)
566           std: 0.0
567         cditc: depth in class tree following only class, abstract, extern kind
568           avg: 0.0
569           max: Object (0)
570           min: Object (0)
571           std: 0.0
572         cditi: depth in class tree following only interface_kind
573           avg: 1.0
574           max: Bool (1)
575           min: Object (0)
576           std: 0.378
577         mdui: proportion of mclass defined using inheritance (has other parent than Object)
578           avg: 0.0
579           max: base_simple3 (0.0)
580           min: base_simple3 (0.0)
581           std: 0.0
582         mduic: proportion of class_kind defined using inheritance
583           avg: 0.0
584           max: base_simple3 (0.0)
585           min: base_simple3 (0.0)
586           std: 0.0
587         mduii: proportion of interface_kind defined using inheritance
588           avg: 0.0
589           max: base_simple3 (0.0)
590           min: base_simple3 (0.0)
591           std: 0.0
592         mif: proportion of mclass inherited from
593           avg: 0.143
594           max: base_simple3 (0.143)
595           min: base_simple3 (0.143)
596           std: 0.0
597         mifc: proportion of class_kind inherited from
598           avg: 0.0
599           max: base_simple3 (0.0)
600           min: base_simple3 (0.0)
601           std: 0.0
602         mifi: proportion of interface_kind inherited from
603           avg: 0.143
604           max: base_simple3 (0.143)
605           min: base_simple3 (0.143)
606           std: 0.0
607
608 # RTA metrics
609
610  ## Live instances by mainmodules
611         mnlc: number of live mclasses in a mmodule
612           avg: 6.0
613           max: base_simple3 (6)
614           min: base_simple3 (6)
615           std: 0.0
616         mnlt: number of live mtypes in a mmodule
617           avg: 6.0
618           max: base_simple3 (6)
619           min: base_simple3 (6)
620           std: 0.0
621         mnct: number of live cast mtypes in a mmodule
622           avg: 0.0
623           max: base_simple3 (0)
624           min: base_simple3 (0)
625           std: 0.0
626         mnli: number of live instances in a mmodule
627           avg: 17.0
628           max: base_simple3 (17)
629           min: base_simple3 (17)
630           std: 0.0
631         mnlm: number of live methods in a mmodule
632           avg: 14.0
633           max: base_simple3 (14)
634           min: base_simple3 (14)
635           std: 0.0
636         mnlmd: number of live method definitions in a mmodule
637           avg: 14.0
638           max: base_simple3 (14)
639           min: base_simple3 (14)
640           std: 0.0
641         mnldd: number of dead method definitions in a mmodule
642           avg: 0.0
643           max: base_simple3 (0)
644           min: base_simple3 (0)
645           std: 0.0
646
647  ## Total live instances by mclasses
648         cnli: number of live instances for a mclass
649           avg: 2.0
650           max: Int (12)
651           min: Sys (1)
652           std: 4.183
653 class_hierarchy.dot
654 classdef_hierarchy.dot
655 inheritance/
656 mclasses/
657 mendel/
658 mmodules/
659 model.html
660 module_hierarchy.dot
661 project_hierarchy.dot
662 rta/