Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 [PoC] feat: Implement a more feature complete telemetry system by theofidry · Pull Request #2389 · infection/infection · GitHub
Nothing Special   »   [go: up one dir, main page]

Skip to content

Conversation

theofidry
Copy link
Member

This PR is not ready for review yet.

This PR is a draft for me to explore a more complete telemetry system. The goal is to have more insights about the flow & performance for a given run.

The current terminology employed is borrowed from well established telemetry systems (e.g. OpenTelemetry or Sentry).

Currently each span* has the following information:

  • a snapshot of the resources of when the span was started
  • a snapshot of the resources of when the span was ended

*: To those not familiar with the concept of span, the general idea is that it is a unit of an operation. Here is an example of spans with a UI (which I find easier to interpret than the blob I printed bellow):

image

The snapshot includes:

  • the memory consumption
  • the peak memory consumption
  • the time elapsed (hrtime)
  • the garbage collection status

Currently at the end of the run command the trace is serialized and dumped into a file. One can then view it using $ infection telemetry:dump-trace build/trace/<trace-id>.

The current output is something like this:

example of trace dump

Trace ID: c45adb810b91

- application:
  - initial_test_suite:461f18a070d1
  - mutation_generation:dcb3c63f188f
    - parsing:2027
    - parsing:2026
    - parsing:2039
    - parsing:2134
    - parsing:2488
    - parsing:2502
  - file:2027
    - parsing:2027
    - mutation_analysis:c101838e3bab3f02365d91498e6683a9
      - heuristics:c101838e3bab3f02365d91498e6683a9
      - execution:c101838e3bab3f02365d91498e6683a9
    - mutation_analysis:c101838e3bab3f02365d91498e6683a9
      - heuristics:c101838e3bab3f02365d91498e6683a9
      - execution:c101838e3bab3f02365d91498e6683a9
    - mutation_analysis:abcbd3a9bd9d898b981f092a8faeb2a4
      - heuristics:abcbd3a9bd9d898b981f092a8faeb2a4
      - execution:abcbd3a9bd9d898b981f092a8faeb2a4
    - mutation_analysis:abcbd3a9bd9d898b981f092a8faeb2a4
      - heuristics:abcbd3a9bd9d898b981f092a8faeb2a4
      - execution:abcbd3a9bd9d898b981f092a8faeb2a4
  - file:2026
    - parsing:2026
    - mutation_analysis:5166ca7d332575d62cc4fc1cb234b6a8
      - heuristics:5166ca7d332575d62cc4fc1cb234b6a8
      - execution:5166ca7d332575d62cc4fc1cb234b6a8
    - mutation_analysis:5166ca7d332575d62cc4fc1cb234b6a8
      - heuristics:5166ca7d332575d62cc4fc1cb234b6a8
      - execution:5166ca7d332575d62cc4fc1cb234b6a8
    - mutation_analysis:930e3f9e3d518a5976e1d14f9761baf0
      - heuristics:930e3f9e3d518a5976e1d14f9761baf0
      - execution:930e3f9e3d518a5976e1d14f9761baf0
    - mutation_analysis:930e3f9e3d518a5976e1d14f9761baf0
      - heuristics:930e3f9e3d518a5976e1d14f9761baf0
      - execution:930e3f9e3d518a5976e1d14f9761baf0
    - mutation_analysis:d77a9806cb0ffdb0b323c1d67f8026ff
      - heuristics:d77a9806cb0ffdb0b323c1d67f8026ff
      - execution:d77a9806cb0ffdb0b323c1d67f8026ff
    - mutation_analysis:d77a9806cb0ffdb0b323c1d67f8026ff
      - heuristics:d77a9806cb0ffdb0b323c1d67f8026ff
      - execution:d77a9806cb0ffdb0b323c1d67f8026ff
    - mutation_analysis:1b3e09bb9a4a9de7fb45509e9d06225d
      - heuristics:1b3e09bb9a4a9de7fb45509e9d06225d
      - execution:1b3e09bb9a4a9de7fb45509e9d06225d
    - mutation_analysis:1b3e09bb9a4a9de7fb45509e9d06225d
      - heuristics:1b3e09bb9a4a9de7fb45509e9d06225d
      - execution:1b3e09bb9a4a9de7fb45509e9d06225d
    - mutation_analysis:9c6707bd6a7968c642e02e8be828ba16
      - heuristics:9c6707bd6a7968c642e02e8be828ba16
      - execution:9c6707bd6a7968c642e02e8be828ba16
    - mutation_analysis:9c6707bd6a7968c642e02e8be828ba16
      - heuristics:9c6707bd6a7968c642e02e8be828ba16
      - execution:9c6707bd6a7968c642e02e8be828ba16
    - mutation_analysis:3ebfa8a889cfa410f863c3985db33f5c
      - heuristics:3ebfa8a889cfa410f863c3985db33f5c
      - execution:3ebfa8a889cfa410f863c3985db33f5c
    - mutation_analysis:3ebfa8a889cfa410f863c3985db33f5c
      - heuristics:3ebfa8a889cfa410f863c3985db33f5c
      - execution:3ebfa8a889cfa410f863c3985db33f5c
    - mutation_analysis:bed7ef7c071cc7c682b50772d627b034
      - heuristics:bed7ef7c071cc7c682b50772d627b034
      - execution:bed7ef7c071cc7c682b50772d627b034
    - mutation_analysis:bed7ef7c071cc7c682b50772d627b034
      - heuristics:bed7ef7c071cc7c682b50772d627b034
      - execution:bed7ef7c071cc7c682b50772d627b034
    - mutation_analysis:edd56ef0ae942e01a8de18434e46af54
      - heuristics:edd56ef0ae942e01a8de18434e46af54
      - execution:edd56ef0ae942e01a8de18434e46af54
    - mutation_analysis:edd56ef0ae942e01a8de18434e46af54
      - heuristics:edd56ef0ae942e01a8de18434e46af54
      - execution:edd56ef0ae942e01a8de18434e46af54
    - mutation_analysis:a273a154a56402d7ef41f813c4ddbe36
      - heuristics:a273a154a56402d7ef41f813c4ddbe36
      - execution:a273a154a56402d7ef41f813c4ddbe36
    - mutation_analysis:a273a154a56402d7ef41f813c4ddbe36
      - heuristics:a273a154a56402d7ef41f813c4ddbe36
      - execution:a273a154a56402d7ef41f813c4ddbe36
    - mutation_analysis:6426cee1ebecdf640efbfa676c02f9aa
      - heuristics:6426cee1ebecdf640efbfa676c02f9aa
      - execution:6426cee1ebecdf640efbfa676c02f9aa
    - mutation_analysis:6426cee1ebecdf640efbfa676c02f9aa
      - heuristics:6426cee1ebecdf640efbfa676c02f9aa
      - execution:6426cee1ebecdf640efbfa676c02f9aa
    - mutation_analysis:0b41b3e851e9b1b227f7476c967bda1c
      - heuristics:0b41b3e851e9b1b227f7476c967bda1c
      - execution:0b41b3e851e9b1b227f7476c967bda1c
    - mutation_analysis:0b41b3e851e9b1b227f7476c967bda1c
      - heuristics:0b41b3e851e9b1b227f7476c967bda1c
      - execution:0b41b3e851e9b1b227f7476c967bda1c
    - mutation_analysis:9ef60db099e90dad3899a4489e6c429c
      - heuristics:9ef60db099e90dad3899a4489e6c429c
      - execution:9ef60db099e90dad3899a4489e6c429c
    - mutation_analysis:9ef60db099e90dad3899a4489e6c429c
      - heuristics:9ef60db099e90dad3899a4489e6c429c
      - execution:9ef60db099e90dad3899a4489e6c429c
    - mutation_analysis:f77416c4f9fc845c70ba59940aa3dd72
      - heuristics:f77416c4f9fc845c70ba59940aa3dd72
      - execution:f77416c4f9fc845c70ba59940aa3dd72
    - mutation_analysis:f77416c4f9fc845c70ba59940aa3dd72
      - heuristics:f77416c4f9fc845c70ba59940aa3dd72
      - execution:f77416c4f9fc845c70ba59940aa3dd72
    - mutation_analysis:bd175e67452d88ba8207be8041ad0573
      - heuristics:bd175e67452d88ba8207be8041ad0573
      - execution:bd175e67452d88ba8207be8041ad0573
    - mutation_analysis:bd175e67452d88ba8207be8041ad0573
      - heuristics:bd175e67452d88ba8207be8041ad0573
      - execution:bd175e67452d88ba8207be8041ad0573
    - mutation_analysis:f5eb037044ff26f13a8c61d222005d92
      - heuristics:f5eb037044ff26f13a8c61d222005d92
      - execution:f5eb037044ff26f13a8c61d222005d92
    - mutation_analysis:f5eb037044ff26f13a8c61d222005d92
      - heuristics:f5eb037044ff26f13a8c61d222005d92
      - execution:f5eb037044ff26f13a8c61d222005d92
    - mutation_analysis:e2c90b577febf6b6dec46df5a39cf07e
      - heuristics:e2c90b577febf6b6dec46df5a39cf07e
      - execution:e2c90b577febf6b6dec46df5a39cf07e
    - mutation_analysis:e2c90b577febf6b6dec46df5a39cf07e
      - heuristics:e2c90b577febf6b6dec46df5a39cf07e
      - execution:e2c90b577febf6b6dec46df5a39cf07e
    - mutation_analysis:26340c1ae36daed2c86d9864f8cca521
      - heuristics:26340c1ae36daed2c86d9864f8cca521
      - execution:26340c1ae36daed2c86d9864f8cca521
    - mutation_analysis:26340c1ae36daed2c86d9864f8cca521
      - heuristics:26340c1ae36daed2c86d9864f8cca521
      - execution:26340c1ae36daed2c86d9864f8cca521
    - mutation_analysis:8ec09115a3e58520c81502c6b6fa7abe
      - heuristics:8ec09115a3e58520c81502c6b6fa7abe
      - execution:8ec09115a3e58520c81502c6b6fa7abe
    - mutation_analysis:8ec09115a3e58520c81502c6b6fa7abe
      - heuristics:8ec09115a3e58520c81502c6b6fa7abe
      - execution:8ec09115a3e58520c81502c6b6fa7abe
    - mutation_analysis:aaa97deb1d8a5e65dd5787e24ce05535
      - heuristics:aaa97deb1d8a5e65dd5787e24ce05535
      - execution:aaa97deb1d8a5e65dd5787e24ce05535
    - mutation_analysis:aaa97deb1d8a5e65dd5787e24ce05535
      - heuristics:aaa97deb1d8a5e65dd5787e24ce05535
      - execution:aaa97deb1d8a5e65dd5787e24ce05535
    - mutation_analysis:2c4baad2b1c0d0c713076901e08acf49
      - heuristics:2c4baad2b1c0d0c713076901e08acf49
      - execution:2c4baad2b1c0d0c713076901e08acf49
    - mutation_analysis:2c4baad2b1c0d0c713076901e08acf49
      - heuristics:2c4baad2b1c0d0c713076901e08acf49
      - execution:2c4baad2b1c0d0c713076901e08acf49
    - mutation_analysis:634eb4908298b7f5825d063aba3d77e5
      - heuristics:634eb4908298b7f5825d063aba3d77e5
      - execution:634eb4908298b7f5825d063aba3d77e5
    - mutation_analysis:634eb4908298b7f5825d063aba3d77e5
      - heuristics:634eb4908298b7f5825d063aba3d77e5
      - execution:634eb4908298b7f5825d063aba3d77e5
    - mutation_analysis:6ddaece933c66aa9d5d1a446c691f7fc
      - heuristics:6ddaece933c66aa9d5d1a446c691f7fc
      - execution:6ddaece933c66aa9d5d1a446c691f7fc
    - mutation_analysis:6ddaece933c66aa9d5d1a446c691f7fc
      - heuristics:6ddaece933c66aa9d5d1a446c691f7fc
      - execution:6ddaece933c66aa9d5d1a446c691f7fc
    - mutation_analysis:d328532c5b0acf26b8a07078ef57c1b4
      - heuristics:d328532c5b0acf26b8a07078ef57c1b4
      - execution:d328532c5b0acf26b8a07078ef57c1b4
    - mutation_analysis:d328532c5b0acf26b8a07078ef57c1b4
      - heuristics:d328532c5b0acf26b8a07078ef57c1b4
      - execution:d328532c5b0acf26b8a07078ef57c1b4
    - mutation_analysis:745a4ca5cda59592d9f4fbd83371b9d5
      - heuristics:745a4ca5cda59592d9f4fbd83371b9d5
      - execution:745a4ca5cda59592d9f4fbd83371b9d5
    - mutation_analysis:745a4ca5cda59592d9f4fbd83371b9d5
      - heuristics:745a4ca5cda59592d9f4fbd83371b9d5
      - execution:745a4ca5cda59592d9f4fbd83371b9d5
    - mutation_analysis:f8d65c9f84cb09653332a5fbf75a9a39
      - heuristics:f8d65c9f84cb09653332a5fbf75a9a39
      - execution:f8d65c9f84cb09653332a5fbf75a9a39
    - mutation_analysis:f8d65c9f84cb09653332a5fbf75a9a39
      - heuristics:f8d65c9f84cb09653332a5fbf75a9a39
      - execution:f8d65c9f84cb09653332a5fbf75a9a39
    - mutation_analysis:fd42066ba883ea851b91964ce4d3ed23
      - heuristics:fd42066ba883ea851b91964ce4d3ed23
      - execution:fd42066ba883ea851b91964ce4d3ed23
    - mutation_analysis:fd42066ba883ea851b91964ce4d3ed23
      - heuristics:fd42066ba883ea851b91964ce4d3ed23
      - execution:fd42066ba883ea851b91964ce4d3ed23
  - file:2039
    - parsing:2039
    - mutation_analysis:cc89b55fec65a14a17ec510b28e38dd3
      - heuristics:cc89b55fec65a14a17ec510b28e38dd3
      - execution:cc89b55fec65a14a17ec510b28e38dd3
    - mutation_analysis:cc89b55fec65a14a17ec510b28e38dd3
      - heuristics:cc89b55fec65a14a17ec510b28e38dd3
      - execution:cc89b55fec65a14a17ec510b28e38dd3
    - mutation_analysis:478aa171d59684c039beb8f4c7703223
      - heuristics:478aa171d59684c039beb8f4c7703223
      - execution:478aa171d59684c039beb8f4c7703223
    - mutation_analysis:478aa171d59684c039beb8f4c7703223
      - heuristics:478aa171d59684c039beb8f4c7703223
      - execution:478aa171d59684c039beb8f4c7703223
    - mutation_analysis:9876848f2f2d4b9f4165205e2f0b2d45
      - heuristics:9876848f2f2d4b9f4165205e2f0b2d45
      - execution:9876848f2f2d4b9f4165205e2f0b2d45
    - mutation_analysis:9876848f2f2d4b9f4165205e2f0b2d45
      - heuristics:9876848f2f2d4b9f4165205e2f0b2d45
      - execution:9876848f2f2d4b9f4165205e2f0b2d45
    - mutation_analysis:67bf96b2bd02e42b1cadf0c190d8ae15
      - heuristics:67bf96b2bd02e42b1cadf0c190d8ae15
      - execution:67bf96b2bd02e42b1cadf0c190d8ae15
    - mutation_analysis:67bf96b2bd02e42b1cadf0c190d8ae15
      - heuristics:67bf96b2bd02e42b1cadf0c190d8ae15
      - execution:67bf96b2bd02e42b1cadf0c190d8ae15
    - mutation_analysis:ccbc902f830b842edef926fe73d175da
      - heuristics:ccbc902f830b842edef926fe73d175da
      - execution:ccbc902f830b842edef926fe73d175da
    - mutation_analysis:ccbc902f830b842edef926fe73d175da
      - heuristics:ccbc902f830b842edef926fe73d175da
      - execution:ccbc902f830b842edef926fe73d175da
    - mutation_analysis:9665c85b5bb54d1fcddf62dd38b7a3dd
      - heuristics:9665c85b5bb54d1fcddf62dd38b7a3dd
      - execution:9665c85b5bb54d1fcddf62dd38b7a3dd
    - mutation_analysis:9665c85b5bb54d1fcddf62dd38b7a3dd
      - heuristics:9665c85b5bb54d1fcddf62dd38b7a3dd
      - execution:9665c85b5bb54d1fcddf62dd38b7a3dd
    - mutation_analysis:0d94ed97e83e3718072d1c2bfe805d5f
      - heuristics:0d94ed97e83e3718072d1c2bfe805d5f
      - execution:0d94ed97e83e3718072d1c2bfe805d5f
    - mutation_analysis:0d94ed97e83e3718072d1c2bfe805d5f
      - heuristics:0d94ed97e83e3718072d1c2bfe805d5f
      - execution:0d94ed97e83e3718072d1c2bfe805d5f
    - mutation_analysis:e6a209e67ee87ba344152f7ad7281bec
      - heuristics:e6a209e67ee87ba344152f7ad7281bec
      - execution:e6a209e67ee87ba344152f7ad7281bec
    - mutation_analysis:e6a209e67ee87ba344152f7ad7281bec
      - heuristics:e6a209e67ee87ba344152f7ad7281bec
      - execution:e6a209e67ee87ba344152f7ad7281bec
    - mutation_analysis:a359ca70262160dc64627acb4a371262
      - heuristics:a359ca70262160dc64627acb4a371262
      - execution:a359ca70262160dc64627acb4a371262
    - mutation_analysis:a359ca70262160dc64627acb4a371262
      - heuristics:a359ca70262160dc64627acb4a371262
      - execution:a359ca70262160dc64627acb4a371262
    - mutation_analysis:3bf264cb2e29005291baf2ad55f7af89
      - heuristics:3bf264cb2e29005291baf2ad55f7af89
      - execution:3bf264cb2e29005291baf2ad55f7af89
    - mutation_analysis:3bf264cb2e29005291baf2ad55f7af89
      - heuristics:3bf264cb2e29005291baf2ad55f7af89
      - execution:3bf264cb2e29005291baf2ad55f7af89
    - mutation_analysis:7daafb826f790a26f457449ed6188e11
      - heuristics:7daafb826f790a26f457449ed6188e11
      - execution:7daafb826f790a26f457449ed6188e11
    - mutation_analysis:7daafb826f790a26f457449ed6188e11
      - heuristics:7daafb826f790a26f457449ed6188e11
      - execution:7daafb826f790a26f457449ed6188e11
    - mutation_analysis:318db202a19da291b958c9e862421103
      - heuristics:318db202a19da291b958c9e862421103
      - execution:318db202a19da291b958c9e862421103
    - mutation_analysis:318db202a19da291b958c9e862421103
      - heuristics:318db202a19da291b958c9e862421103
      - execution:318db202a19da291b958c9e862421103
    - mutation_analysis:26c460c4bacde35839d74ce8ef6d2a89
      - heuristics:26c460c4bacde35839d74ce8ef6d2a89
      - execution:26c460c4bacde35839d74ce8ef6d2a89
    - mutation_analysis:26c460c4bacde35839d74ce8ef6d2a89
      - heuristics:26c460c4bacde35839d74ce8ef6d2a89
      - execution:26c460c4bacde35839d74ce8ef6d2a89
    - mutation_analysis:9ed0abb709d6cb7ffdfdd4890d62da8c
      - heuristics:9ed0abb709d6cb7ffdfdd4890d62da8c
      - execution:9ed0abb709d6cb7ffdfdd4890d62da8c
    - mutation_analysis:9ed0abb709d6cb7ffdfdd4890d62da8c
      - heuristics:9ed0abb709d6cb7ffdfdd4890d62da8c
      - execution:9ed0abb709d6cb7ffdfdd4890d62da8c
    - mutation_analysis:e4f452156ea66e78bee973a67e719699
      - heuristics:e4f452156ea66e78bee973a67e719699
      - execution:e4f452156ea66e78bee973a67e719699
    - mutation_analysis:e4f452156ea66e78bee973a67e719699
      - heuristics:e4f452156ea66e78bee973a67e719699
      - execution:e4f452156ea66e78bee973a67e719699
    - mutation_analysis:5dd009bd1bd0030efc0938e54edba77c
      - heuristics:5dd009bd1bd0030efc0938e54edba77c
      - execution:5dd009bd1bd0030efc0938e54edba77c
    - mutation_analysis:5dd009bd1bd0030efc0938e54edba77c
      - heuristics:5dd009bd1bd0030efc0938e54edba77c
      - execution:5dd009bd1bd0030efc0938e54edba77c
    - mutation_analysis:5296f0d65b9d99c6a2a7aebd02546867
      - heuristics:5296f0d65b9d99c6a2a7aebd02546867
      - execution:5296f0d65b9d99c6a2a7aebd02546867
    - mutation_analysis:5296f0d65b9d99c6a2a7aebd02546867
      - heuristics:5296f0d65b9d99c6a2a7aebd02546867
      - execution:5296f0d65b9d99c6a2a7aebd02546867
    - mutation_analysis:8c398e59f9e8e0931e2bb0055a11ed20
      - heuristics:8c398e59f9e8e0931e2bb0055a11ed20
      - execution:8c398e59f9e8e0931e2bb0055a11ed20
    - mutation_analysis:8c398e59f9e8e0931e2bb0055a11ed20
      - heuristics:8c398e59f9e8e0931e2bb0055a11ed20
      - execution:8c398e59f9e8e0931e2bb0055a11ed20
    - mutation_analysis:2917d35cef489239319c5b16b2d50cf6
      - heuristics:2917d35cef489239319c5b16b2d50cf6
      - execution:2917d35cef489239319c5b16b2d50cf6
    - mutation_analysis:2917d35cef489239319c5b16b2d50cf6
      - heuristics:2917d35cef489239319c5b16b2d50cf6
      - execution:2917d35cef489239319c5b16b2d50cf6
    - mutation_analysis:38cd8a085409ed9276dbe3bfb25d6b11
      - heuristics:38cd8a085409ed9276dbe3bfb25d6b11
      - execution:38cd8a085409ed9276dbe3bfb25d6b11
    - mutation_analysis:38cd8a085409ed9276dbe3bfb25d6b11
      - heuristics:38cd8a085409ed9276dbe3bfb25d6b11
      - execution:38cd8a085409ed9276dbe3bfb25d6b11
    - mutation_analysis:5bd715464f0c0e69766ebab02b5ff02a
      - heuristics:5bd715464f0c0e69766ebab02b5ff02a
      - execution:5bd715464f0c0e69766ebab02b5ff02a
    - mutation_analysis:5bd715464f0c0e69766ebab02b5ff02a
      - heuristics:5bd715464f0c0e69766ebab02b5ff02a
      - execution:5bd715464f0c0e69766ebab02b5ff02a
    - mutation_analysis:80451164b5a9d53032c1ab26d89d7f40
      - heuristics:80451164b5a9d53032c1ab26d89d7f40
      - execution:80451164b5a9d53032c1ab26d89d7f40
    - mutation_analysis:80451164b5a9d53032c1ab26d89d7f40
      - heuristics:80451164b5a9d53032c1ab26d89d7f40
      - execution:80451164b5a9d53032c1ab26d89d7f40
    - mutation_analysis:3298ac5a9be4b93809b6052b077b599d
      - heuristics:3298ac5a9be4b93809b6052b077b599d
      - execution:3298ac5a9be4b93809b6052b077b599d
    - mutation_analysis:3298ac5a9be4b93809b6052b077b599d
      - heuristics:3298ac5a9be4b93809b6052b077b599d
      - execution:3298ac5a9be4b93809b6052b077b599d
    - mutation_analysis:e2c40ceaf4d29a30b21eedda6b665f23
      - heuristics:e2c40ceaf4d29a30b21eedda6b665f23
      - execution:e2c40ceaf4d29a30b21eedda6b665f23
    - mutation_analysis:e2c40ceaf4d29a30b21eedda6b665f23
      - heuristics:e2c40ceaf4d29a30b21eedda6b665f23
      - execution:e2c40ceaf4d29a30b21eedda6b665f23
    - mutation_analysis:fb62e42fd4fa69c0cb6879b132bc1b78
      - heuristics:fb62e42fd4fa69c0cb6879b132bc1b78
      - execution:fb62e42fd4fa69c0cb6879b132bc1b78
    - mutation_analysis:fb62e42fd4fa69c0cb6879b132bc1b78
      - heuristics:fb62e42fd4fa69c0cb6879b132bc1b78
      - execution:fb62e42fd4fa69c0cb6879b132bc1b78
    - mutation_analysis:b12d699356e1b23903f80083a4733573
      - heuristics:b12d699356e1b23903f80083a4733573
      - execution:b12d699356e1b23903f80083a4733573
    - mutation_analysis:b12d699356e1b23903f80083a4733573
      - heuristics:b12d699356e1b23903f80083a4733573
      - execution:b12d699356e1b23903f80083a4733573
    - mutation_analysis:7dc59e933a3d51f961f149d285f05334
      - heuristics:7dc59e933a3d51f961f149d285f05334
      - execution:7dc59e933a3d51f961f149d285f05334
    - mutation_analysis:7dc59e933a3d51f961f149d285f05334
      - heuristics:7dc59e933a3d51f961f149d285f05334
      - execution:7dc59e933a3d51f961f149d285f05334
    - mutation_analysis:e74f45b478a9cd1207564461bb9ea142
      - heuristics:e74f45b478a9cd1207564461bb9ea142
      - execution:e74f45b478a9cd1207564461bb9ea142
    - mutation_analysis:e74f45b478a9cd1207564461bb9ea142
      - heuristics:e74f45b478a9cd1207564461bb9ea142
      - execution:e74f45b478a9cd1207564461bb9ea142
    - mutation_analysis:fab0c88582e7610ef15f72bf6714c5a2
      - heuristics:fab0c88582e7610ef15f72bf6714c5a2
      - execution:fab0c88582e7610ef15f72bf6714c5a2
    - mutation_analysis:fab0c88582e7610ef15f72bf6714c5a2
      - heuristics:fab0c88582e7610ef15f72bf6714c5a2
      - execution:fab0c88582e7610ef15f72bf6714c5a2
    - mutation_analysis:c979268d6bad844abac1ffdff80e81f1
      - heuristics:c979268d6bad844abac1ffdff80e81f1
      - execution:c979268d6bad844abac1ffdff80e81f1
    - mutation_analysis:c979268d6bad844abac1ffdff80e81f1
      - heuristics:c979268d6bad844abac1ffdff80e81f1
      - execution:c979268d6bad844abac1ffdff80e81f1
    - mutation_analysis:afd405c49df210afbb0cea9125a2ca51
      - heuristics:afd405c49df210afbb0cea9125a2ca51
      - execution:afd405c49df210afbb0cea9125a2ca51
    - mutation_analysis:afd405c49df210afbb0cea9125a2ca51
      - heuristics:afd405c49df210afbb0cea9125a2ca51
      - execution:afd405c49df210afbb0cea9125a2ca51
    - mutation_analysis:d40d37695a4f749ce1c95f8f7374fcee
      - heuristics:d40d37695a4f749ce1c95f8f7374fcee
      - execution:d40d37695a4f749ce1c95f8f7374fcee
    - mutation_analysis:d40d37695a4f749ce1c95f8f7374fcee
      - heuristics:d40d37695a4f749ce1c95f8f7374fcee
      - execution:d40d37695a4f749ce1c95f8f7374fcee
    - mutation_analysis:854dfda87b07b4e05b1cf72842e1c9db
      - heuristics:854dfda87b07b4e05b1cf72842e1c9db
      - execution:854dfda87b07b4e05b1cf72842e1c9db
    - mutation_analysis:854dfda87b07b4e05b1cf72842e1c9db
      - heuristics:854dfda87b07b4e05b1cf72842e1c9db
      - execution:854dfda87b07b4e05b1cf72842e1c9db
    - mutation_analysis:a32f1869836ef4f0fa023d12a571601d
      - heuristics:a32f1869836ef4f0fa023d12a571601d
      - execution:a32f1869836ef4f0fa023d12a571601d
    - mutation_analysis:a32f1869836ef4f0fa023d12a571601d
      - heuristics:a32f1869836ef4f0fa023d12a571601d
      - execution:a32f1869836ef4f0fa023d12a571601d
    - mutation_analysis:86bbfab11d2d97b8976aa303841537be
      - heuristics:86bbfab11d2d97b8976aa303841537be
      - execution:86bbfab11d2d97b8976aa303841537be
    - mutation_analysis:86bbfab11d2d97b8976aa303841537be
      - heuristics:86bbfab11d2d97b8976aa303841537be
      - execution:86bbfab11d2d97b8976aa303841537be
    - mutation_analysis:5e9d96264af942f8b58f2fa8e68bfbc8
      - heuristics:5e9d96264af942f8b58f2fa8e68bfbc8
      - execution:5e9d96264af942f8b58f2fa8e68bfbc8
    - mutation_analysis:5e9d96264af942f8b58f2fa8e68bfbc8
      - heuristics:5e9d96264af942f8b58f2fa8e68bfbc8
      - execution:5e9d96264af942f8b58f2fa8e68bfbc8
    - mutation_analysis:a966c38035cc222ea5e7982fe7019d50
      - heuristics:a966c38035cc222ea5e7982fe7019d50
      - execution:a966c38035cc222ea5e7982fe7019d50
    - mutation_analysis:a966c38035cc222ea5e7982fe7019d50
      - heuristics:a966c38035cc222ea5e7982fe7019d50
      - execution:a966c38035cc222ea5e7982fe7019d50
    - mutation_analysis:182542f9c93e95ce43bb6285f86b23e4
      - heuristics:182542f9c93e95ce43bb6285f86b23e4
      - execution:182542f9c93e95ce43bb6285f86b23e4
    - mutation_analysis:182542f9c93e95ce43bb6285f86b23e4
      - heuristics:182542f9c93e95ce43bb6285f86b23e4
      - execution:182542f9c93e95ce43bb6285f86b23e4
    - mutation_analysis:1f958a032920b4c69fa05c118f66d38a
      - heuristics:1f958a032920b4c69fa05c118f66d38a
      - execution:1f958a032920b4c69fa05c118f66d38a
    - mutation_analysis:1f958a032920b4c69fa05c118f66d38a
      - heuristics:1f958a032920b4c69fa05c118f66d38a
      - execution:1f958a032920b4c69fa05c118f66d38a
    - mutation_analysis:8bb44a21fa6c6d1c2170805a12cd90d2
      - heuristics:8bb44a21fa6c6d1c2170805a12cd90d2
      - execution:8bb44a21fa6c6d1c2170805a12cd90d2
    - mutation_analysis:8bb44a21fa6c6d1c2170805a12cd90d2
      - heuristics:8bb44a21fa6c6d1c2170805a12cd90d2
      - execution:8bb44a21fa6c6d1c2170805a12cd90d2
    - mutation_analysis:7a61122a1a735932d1d00a144e3af9be
      - heuristics:7a61122a1a735932d1d00a144e3af9be
      - execution:7a61122a1a735932d1d00a144e3af9be
    - mutation_analysis:7a61122a1a735932d1d00a144e3af9be
      - heuristics:7a61122a1a735932d1d00a144e3af9be
      - execution:7a61122a1a735932d1d00a144e3af9be
    - mutation_analysis:2ae9d44486c8262edceae2b8a0d45624
      - heuristics:2ae9d44486c8262edceae2b8a0d45624
      - execution:2ae9d44486c8262edceae2b8a0d45624
    - mutation_analysis:2ae9d44486c8262edceae2b8a0d45624
      - heuristics:2ae9d44486c8262edceae2b8a0d45624
      - execution:2ae9d44486c8262edceae2b8a0d45624
    - mutation_analysis:d48458f443662f3c9045f62d8df2b46d
      - heuristics:d48458f443662f3c9045f62d8df2b46d
      - execution:d48458f443662f3c9045f62d8df2b46d
    - mutation_analysis:d48458f443662f3c9045f62d8df2b46d
      - heuristics:d48458f443662f3c9045f62d8df2b46d
      - execution:d48458f443662f3c9045f62d8df2b46d
    - mutation_analysis:1d3c6454de1f9728027fd4d6ac8b3c77
      - heuristics:1d3c6454de1f9728027fd4d6ac8b3c77
      - execution:1d3c6454de1f9728027fd4d6ac8b3c77
    - mutation_analysis:1d3c6454de1f9728027fd4d6ac8b3c77
      - heuristics:1d3c6454de1f9728027fd4d6ac8b3c77
      - execution:1d3c6454de1f9728027fd4d6ac8b3c77
    - mutation_analysis:729d5f06b286c6e0aaeab398cd15a3f6
      - heuristics:729d5f06b286c6e0aaeab398cd15a3f6
      - execution:729d5f06b286c6e0aaeab398cd15a3f6
    - mutation_analysis:729d5f06b286c6e0aaeab398cd15a3f6
      - heuristics:729d5f06b286c6e0aaeab398cd15a3f6
      - execution:729d5f06b286c6e0aaeab398cd15a3f6
    - mutation_analysis:b156fb1d02da204ba2d64e8b422667b5
      - heuristics:b156fb1d02da204ba2d64e8b422667b5
      - execution:b156fb1d02da204ba2d64e8b422667b5
    - mutation_analysis:b156fb1d02da204ba2d64e8b422667b5
      - heuristics:b156fb1d02da204ba2d64e8b422667b5
      - execution:b156fb1d02da204ba2d64e8b422667b5
    - mutation_analysis:8c23d98bece367ba6f815cbbff946125
      - heuristics:8c23d98bece367ba6f815cbbff946125
      - execution:8c23d98bece367ba6f815cbbff946125
    - mutation_analysis:8c23d98bece367ba6f815cbbff946125
      - heuristics:8c23d98bece367ba6f815cbbff946125
      - execution:8c23d98bece367ba6f815cbbff946125
    - mutation_analysis:8efb3abe92d05c7bafe1e1b83b45914e
      - heuristics:8efb3abe92d05c7bafe1e1b83b45914e
      - execution:8efb3abe92d05c7bafe1e1b83b45914e
    - mutation_analysis:8efb3abe92d05c7bafe1e1b83b45914e
      - heuristics:8efb3abe92d05c7bafe1e1b83b45914e
      - execution:8efb3abe92d05c7bafe1e1b83b45914e
    - mutation_analysis:66e7bf54abc94c3cbb09c500ca1a2e87
      - heuristics:66e7bf54abc94c3cbb09c500ca1a2e87
      - execution:66e7bf54abc94c3cbb09c500ca1a2e87
    - mutation_analysis:66e7bf54abc94c3cbb09c500ca1a2e87
      - heuristics:66e7bf54abc94c3cbb09c500ca1a2e87
      - execution:66e7bf54abc94c3cbb09c500ca1a2e87
    - mutation_analysis:590865f5c7e0e6f7a5b51dd60f37844c
      - heuristics:590865f5c7e0e6f7a5b51dd60f37844c
      - execution:590865f5c7e0e6f7a5b51dd60f37844c
    - mutation_analysis:590865f5c7e0e6f7a5b51dd60f37844c
      - heuristics:590865f5c7e0e6f7a5b51dd60f37844c
      - execution:590865f5c7e0e6f7a5b51dd60f37844c
    - mutation_analysis:1bbf2e0181d4c9989dbc247aa2ac2449
      - heuristics:1bbf2e0181d4c9989dbc247aa2ac2449
      - execution:1bbf2e0181d4c9989dbc247aa2ac2449
    - mutation_analysis:1bbf2e0181d4c9989dbc247aa2ac2449
      - heuristics:1bbf2e0181d4c9989dbc247aa2ac2449
      - execution:1bbf2e0181d4c9989dbc247aa2ac2449
    - mutation_analysis:7cd7e0b5e27a2b49aa05866759a0f4ca
      - heuristics:7cd7e0b5e27a2b49aa05866759a0f4ca
      - execution:7cd7e0b5e27a2b49aa05866759a0f4ca
    - mutation_analysis:7cd7e0b5e27a2b49aa05866759a0f4ca
      - heuristics:7cd7e0b5e27a2b49aa05866759a0f4ca
      - execution:7cd7e0b5e27a2b49aa05866759a0f4ca
    - mutation_analysis:0ac185aaef3444d39d82c66dad00feb1
      - heuristics:0ac185aaef3444d39d82c66dad00feb1
      - execution:0ac185aaef3444d39d82c66dad00feb1
    - mutation_analysis:0ac185aaef3444d39d82c66dad00feb1
      - heuristics:0ac185aaef3444d39d82c66dad00feb1
      - execution:0ac185aaef3444d39d82c66dad00feb1
    - mutation_analysis:4f644034bb315757fea38ce78fc93270
      - heuristics:4f644034bb315757fea38ce78fc93270
      - execution:4f644034bb315757fea38ce78fc93270
    - mutation_analysis:4f644034bb315757fea38ce78fc93270
      - heuristics:4f644034bb315757fea38ce78fc93270
      - execution:4f644034bb315757fea38ce78fc93270
    - mutation_analysis:27dede686f4cc6ab5605d02a15ef286b
      - heuristics:27dede686f4cc6ab5605d02a15ef286b
      - execution:27dede686f4cc6ab5605d02a15ef286b
    - mutation_analysis:27dede686f4cc6ab5605d02a15ef286b
      - heuristics:27dede686f4cc6ab5605d02a15ef286b
      - execution:27dede686f4cc6ab5605d02a15ef286b
    - mutation_analysis:e88fec6885601b2922679eaa3171a6ae
      - heuristics:e88fec6885601b2922679eaa3171a6ae
      - execution:e88fec6885601b2922679eaa3171a6ae
    - mutation_analysis:e88fec6885601b2922679eaa3171a6ae
      - heuristics:e88fec6885601b2922679eaa3171a6ae
      - execution:e88fec6885601b2922679eaa3171a6ae
    - mutation_analysis:22671889b8f1d7aa6ba1da0628123064
      - heuristics:22671889b8f1d7aa6ba1da0628123064
      - execution:22671889b8f1d7aa6ba1da0628123064
    - mutation_analysis:22671889b8f1d7aa6ba1da0628123064
      - heuristics:22671889b8f1d7aa6ba1da0628123064
      - execution:22671889b8f1d7aa6ba1da0628123064
    - mutation_analysis:d28fd9a2271e9497de3251467536674b
      - heuristics:d28fd9a2271e9497de3251467536674b
      - execution:d28fd9a2271e9497de3251467536674b
    - mutation_analysis:d28fd9a2271e9497de3251467536674b
      - heuristics:d28fd9a2271e9497de3251467536674b
      - execution:d28fd9a2271e9497de3251467536674b
    - mutation_analysis:a627a2428c456c4272c7fab0a94b3e66
      - heuristics:a627a2428c456c4272c7fab0a94b3e66
      - execution:a627a2428c456c4272c7fab0a94b3e66
    - mutation_analysis:a627a2428c456c4272c7fab0a9
10000
4b3e66
      - heuristics:a627a2428c456c4272c7fab0a94b3e66
      - execution:a627a2428c456c4272c7fab0a94b3e66
    - mutation_analysis:8b06ba8799df4ca8bfd5ba05e1c1e730
      - heuristics:8b06ba8799df4ca8bfd5ba05e1c1e730
      - execution:8b06ba8799df4ca8bfd5ba05e1c1e730
    - mutation_analysis:8b06ba8799df4ca8bfd5ba05e1c1e730
      - heuristics:8b06ba8799df4ca8bfd5ba05e1c1e730
      - execution:8b06ba8799df4ca8bfd5ba05e1c1e730
    - mutation_analysis:e69fb1bd0cdbf143159a2b234f1059e3
      - heuristics:e69fb1bd0cdbf143159a2b234f1059e3
      - execution:e69fb1bd0cdbf143159a2b234f1059e3
    - mutation_analysis:e69fb1bd0cdbf143159a2b234f1059e3
      - heuristics:e69fb1bd0cdbf143159a2b234f1059e3
      - execution:e69fb1bd0cdbf143159a2b234f1059e3
    - mutation_analysis:f2d42cd0a3e86119b3b6b5b235987880
      - heuristics:f2d42cd0a3e86119b3b6b5b235987880
      - execution:f2d42cd0a3e86119b3b6b5b235987880
    - mutation_analysis:f2d42cd0a3e86119b3b6b5b235987880
      - heuristics:f2d42cd0a3e86119b3b6b5b235987880
      - execution:f2d42cd0a3e86119b3b6b5b235987880
    - mutation_analysis:6b4f48d7dbf642489a170b9050477142
      - heuristics:6b4f48d7dbf642489a170b9050477142
      - execution:6b4f48d7dbf642489a170b9050477142
    - mutation_analysis:6b4f48d7dbf642489a170b9050477142
      - heuristics:6b4f48d7dbf642489a170b9050477142
      - execution:6b4f48d7dbf642489a170b9050477142
    - mutation_analysis:ac23d3bb093061da7c32399dd5a8fb09
      - heuristics:ac23d3bb093061da7c32399dd5a8fb09
      - execution:ac23d3bb093061da7c32399dd5a8fb09
    - mutation_analysis:ac23d3bb093061da7c32399dd5a8fb09
      - heuristics:ac23d3bb093061da7c32399dd5a8fb09
      - execution:ac23d3bb093061da7c32399dd5a8fb09
    - mutation_analysis:03f0f8f726440b40aa7e22cb0644b0d2
      - heuristics:03f0f8f726440b40aa7e22cb0644b0d2
      - execution:03f0f8f726440b40aa7e22cb0644b0d2
    - mutation_analysis:03f0f8f726440b40aa7e22cb0644b0d2
      - heuristics:03f0f8f726440b40aa7e22cb0644b0d2
      - execution:03f0f8f726440b40aa7e22cb0644b0d2
    - mutation_analysis:1f06f7d9602b4ed4d23ea90f76b1e6be
      - heuristics:1f06f7d9602b4ed4d23ea90f76b1e6be
      - execution:1f06f7d9602b4ed4d23ea90f76b1e6be
    - mutation_analysis:1f06f7d9602b4ed4d23ea90f76b1e6be
      - heuristics:1f06f7d9602b4ed4d23ea90f76b1e6be
      - execution:1f06f7d9602b4ed4d23ea90f76b1e6be
    - mutation_analysis:e8c3b1cb3dc7e0bf9238442055b17feb
      - heuristics:e8c3b1cb3dc7e0bf9238442055b17feb
      - execution:e8c3b1cb3dc7e0bf9238442055b17feb
    - mutation_analysis:e8c3b1cb3dc7e0bf9238442055b17feb
      - heuristics:e8c3b1cb3dc7e0bf9238442055b17feb
      - execution:e8c3b1cb3dc7e0bf9238442055b17feb
    - mutation_analysis:214e2d8a4772f611792d54f384ba6f67
      - heuristics:214e2d8a4772f611792d54f384ba6f67
      - execution:214e2d8a4772f611792d54f384ba6f67
    - mutation_analysis:214e2d8a4772f611792d54f384ba6f67
      - heuristics:214e2d8a4772f611792d54f384ba6f67
      - execution:214e2d8a4772f611792d54f384ba6f67
    - mutation_analysis:ef319f4416294f61da4c1e742452815d
      - heuristics:ef319f4416294f61da4c1e742452815d
      - execution:ef319f4416294f61da4c1e742452815d
    - mutation_analysis:ef319f4416294f61da4c1e742452815d
      - heuristics:ef319f4416294f61da4c1e742452815d
      - execution:ef319f4416294f61da4c1e742452815d
    - mutation_analysis:25af91aabbf7f66871027ffae7911685
      - heuristics:25af91aabbf7f66871027ffae7911685
      - execution:25af91aabbf7f66871027ffae7911685
    - mutation_analysis:25af91aabbf7f66871027ffae7911685
      - heuristics:25af91aabbf7f66871027ffae7911685
      - execution:25af91aabbf7f66871027ffae7911685
    - mutation_analysis:92bf4d0ebdfd54b07a15ad599e505c3a
      - heuristics:92bf4d0ebdfd54b07a15ad599e505c3a
      - execution:92bf4d0ebdfd54b07a15ad599e505c3a
    - mutation_analysis:92bf4d0ebdfd54b07a15ad599e505c3a
      - heuristics:92bf4d0ebdfd54b07a15ad599e505c3a
      - execution:92bf4d0ebdfd54b07a15ad599e505c3a
    - mutation_analysis:0f1c5efd95c00c1761acb9268cd60dc7
      - heuristics:0f1c5efd95c00c1761acb9268cd60dc7
      - execution:0f1c5efd95c00c1761acb9268cd60dc7
    - mutation_analysis:0f1c5efd95c00c1761acb9268cd60dc7
      - heuristics:0f1c5efd95c00c1761acb9268cd60dc7
      - execution:0f1c5efd95c00c1761acb9268cd60dc7
    - mutation_analysis:bd69bcb724638a222926696530c391ff
      - heuristics:bd69bcb724638a222926696530c391ff
      - execution:bd69bcb724638a222926696530c391ff
    - mutation_analysis:bd69bcb724638a222926696530c391ff
      - heuristics:bd69bcb724638a222926696530c391ff
      - execution:bd69bcb724638a222926696530c391ff
  - file:2134
    - parsing:2134
    - mutation_analysis:cdf6d48a4eed76955c00af7791989e06
      - heuristics:cdf6d48a4eed76955c00af7791989e06
      - execution:cdf6d48a4eed76955c00af7791989e06
    - mutation_analysis:cdf6d48a4eed76955c00af7791989e06
      - heuristics:cdf6d48a4eed76955c00af7791989e06
      - execution:cdf6d48a4eed76955c00af7791989e06
    - mutation_analysis:4150cd9575b0eb53c3077d0e7e2aea41
      - heuristics:4150cd9575b0eb53c3077d0e7e2aea41
      - execution:4150cd9575b0eb53c3077d0e7e2aea41
    - mutation_analysis:4150cd9575b0eb53c3077d0e7e2aea41
      - heuristics:4150cd9575b0eb53c3077d0e7e2aea41
      - execution:4150cd9575b0eb53c3077d0e7e2aea41
    - mutation_analysis:af46aaad4f1638d6723420d9dba7c20f
      - heuristics:af46aaad4f1638d6723420d9dba7c20f
      - execution:af46aaad4f1638d6723420d9dba7c20f
    - mutation_analysis:af46aaad4f1638d6723420d9dba7c20f
      - heuristics:af46aaad4f1638d6723420d9dba7c20f
      - execution:af46aaad4f1638d6723420d9dba7c20f
    - mutation_analysis:2612686b60a1195d205b4a13d3be1055
      - heuristics:2612686b60a1195d205b4a13d3be1055
      - execution:2612686b60a1195d205b4a13d3be1055
    - mutation_analysis:2612686b60a1195d205b4a13d3be1055
      - heuristics:2612686b60a1195d205b4a13d3be1055
      - execution:2612686b60a1195d205b4a13d3be1055
    - mutation_analysis:de043ac309e4d44871274752c9f4521a
      - heuristics:de043ac309e4d44871274752c9f4521a
      - execution:de043ac309e4d44871274752c9f4521a
    - mutation_analysis:de043ac309e4d44871274752c9f4521a
      - heuristics:de043ac309e4d44871274752c9f4521a
      - execution:de043ac309e4d44871274752c9f4521a
  - file:2488
    - parsing:2488
    - mutation_analysis:8aa91511a6351dcbda2336767a2043dd
      - heuristics:8aa91511a6351dcbda2336767a2043dd
      - execution:8aa91511a6351dcbda2336767a2043dd
    - mutation_analysis:8aa91511a6351dcbda2336767a2043dd
      - heuristics:8aa91511a6351dcbda2336767a2043dd
      - execution:8aa91511a6351dcbda2336767a2043dd
  - file:2502
    - parsing:2502
    - mutation_analysis:4d0f50b797a629bf8d3684846fd5fb15
      - heuristics:4d0f50b797a629bf8d3684846fd5fb15
      - execution:4d0f50b797a629bf8d3684846fd5fb15
    - mutation_analysis:4d0f50b797a629bf8d3684846fd5fb15
      - heuristics:4d0f50b797a629bf8d3684846fd5fb15
      - execution:4d0f50b797a629bf8d3684846fd5fb15
    - mutation_analysis:1d8501e155eda3d164a5609e90d87755
      - heuristics:1d8501e155eda3d164a5609e90d87755
      - execution:1d8501e155eda3d164a5609e90d87755
    - mutation_analysis:1d8501e155eda3d164a5609e90d87755
      - heuristics:1d8501e155eda3d164a5609e90d87755
      - execution:1d8501e155eda3d164a5609e90d87755
    - mutation_analysis:bf88f11ea13b374d99658293fca03028
      - heuristics:bf88f11ea13b374d99658293fca03028
      - execution:bf88f11ea13b374d99658293fca03028
    - mutation_analysis:bf88f11ea13b374d99658293fca03028
      - heuristics:bf88f11ea13b374d99658293fca03028
      - execution:bf88f11ea13b374d99658293fca03028
    - mutation_analysis:fbec4215b69cefe0eac1987953c17694
      - heuristics:fbec4215b69cefe0eac1987953c17694
      - execution:fbec4215b69cefe0eac1987953c17694
    - mutation_analysis:fbec4215b69cefe0eac1987953c17694
      - heuristics:fbec4215b69cefe0eac1987953c17694
      - execution:fbec4215b69cefe0eac1987953c17694
    - mutation_analysis:de359a38397d4fb4a9e64f54e4ab5fef
      - heuristics:de359a38397d4fb4a9e64f54e4ab5fef
      - execution:de359a38397d4fb4a9e64f54e4ab5fef
    - mutation_analysis:de359a38397d4fb4a9e64f54e4ab5fef
      - heuristics:de359a38397d4fb4a9e64f54e4ab5fef
      - execution:de359a38397d4fb4a9e64f54e4ab5fef
    - mutation_analysis:c50107b679336efb39755b995fa123e8
      - heuristics:c50107b679336efb39755b995fa123e8
      - execution:c50107b679336efb39755b995fa123e8
    - mutation_analysis:c50107b679336efb39755b995fa123e8
      - heuristics:c50107b679336efb39755b995fa123e8
      - execution:c50107b679336efb39755b995fa123e8
    - mutation_analysis:e5af5971c227cf92b26c0b1169f18b17
      - heuristics:e5af5971c227cf92b26c0b1169f18b17
      - execution:e5af5971c227cf92b26c0b1169f18b17
    - mutation_analysis:e5af5971c227cf92b26c0b1169f18b17
      - heuristics:e5af5971c227cf92b26c0b1169f18b17
      - execution:e5af5971c227cf92b26c0b1169f18b17
    - mutation_analysis:86aaca2fd95d400c8045d4a0c60163ed
      - heuristics:86aaca2fd95d400c8045d4a0c60163ed
      - execution:86aaca2fd95d400c8045d4a0c60163ed
    - mutation_analysis:86aaca2fd95d400c8045d4a0c60163ed
      - heuristics:86aaca2fd95d400c8045d4a0c60163ed
      - execution:86aaca2fd95d400c8045d4a0c60163ed
    - mutation_analysis:b5452d33f21911c6811384758de707c7
      - heuristics:b5452d33f21911c6811384758de707c7
      - execution:b5452d33f21911c6811384758de707c7
    - mutation_analysis:b5452d33f21911c6811384758de707c7
      - heuristics:b5452d33f21911c6811384758de707c7
      - execution:b5452d33f21911c6811384758de707c7
    - mutation_analysis:ee070989ff94b3a4a2c710bca4a2f814
      - heuristics:ee070989ff94b3a4a2c710bca4a2f814
      - execution:ee070989ff94b3a4a2c710bca4a2f814
    - mutation_analysis:ee070989ff94b3a4a2c710bca4a2f814
      - heuristics:ee070989ff94b3a4a2c710bca4a2f814
      - execution:ee070989ff94b3a4a2c710bca4a2f814
    - mutation_analysis:eadeef160eabee86b0c32e2da90f0715
      - heuristics:eadeef160eabee86b0c32e2da90f0715
      - execution:eadeef160eabee86b0c32e2da90f0715
    - mutation_analysis:eadeef160eabee86b0c32e2da90f0715
      - heuristics:eadeef160eabee86b0c32e2da90f0715
      - execution:eadeef160eabee86b0c32e2da90f0715
    - mutation_analysis:359fb5bf52ce99969e34eca8a27a56c6
      - heuristics:359fb5bf52ce99969e34eca8a27a56c6
      - execution:359fb5bf52ce99969e34eca8a27a56c6
    - mutation_analysis:359fb5bf52ce99969e34eca8a27a56c6
      - heuristics:359fb5bf52ce99969e34eca8a27a56c6
      - execution:359fb5bf52ce99969e34eca8a27a56c6
    - mutation_analysis:6d955df218741f5a46ed37db23243315
      - heuristics:6d955df218741f5a46ed37db23243315
      - execution:6d955df218741f5a46ed37db23243315
    - mutation_analysis:6d955df218741f5a46ed37db23243315
      - heuristics:6d955df218741f5a46ed37db23243315
      - execution:6d955df218741f5a46ed37db23243315
    - mutation_analysis:2c5bbd38ed505326006c220aba5c5b38
      - heuristics:2c5bbd38ed505326006c220aba5c5b38
      - execution:2c5bbd38ed505326006c220aba5c5b38
    - mutation_analysis:2c5bbd38ed505326006c220aba5c5b38
      - heuristics:2c5bbd38ed505326006c220aba5c5b38
      - execution:2c5bbd38ed505326006c220aba5c5b38
    - mutation_analysis:78543a2c13d3479208289e337f230d93
      - heuristics:78543a2c13d3479208289e337f230d93
      - execution:78543a2c13d3479208289e337f230d93
    - mutation_analysis:78543a2c13d3479208289e337f230d93
      - heuristics:78543a2c13d3479208289e337f230d93
      - execution:78543a2c13d3479208289e337f230d93
  - mutation_analysis:6d564a0f98f6
    - mutation_analysis:c101838e3bab3f02365d91498e6683a9
      - heuristics:c101838e3bab3f02365d91498e6683a9
      - execution:c101838e3bab3f02365d91498e6683a9
    - mutation_analysis:abcbd3a9bd9d898b981f092a8faeb2a4
      - heuristics:abcbd3a9bd9d898b981f092a8faeb2a4
      - execution:abcbd3a9bd9d898b981f092a8faeb2a4
    - mutation_analysis:5166ca7d332575d62cc4fc1cb234b6a8
      - heuristics:5166ca7d332575d62cc4fc1cb234b6a8
      - execution:5166ca7d332575d62cc4fc1cb234b6a8
    - mutation_analysis:930e3f9e3d518a5976e1d14f9761baf0
      - heuristics:930e3f9e3d518a5976e1d14f9761baf0
      - execution:930e3f9e3d518a5976e1d14f9761baf0
    - mutation_analysis:d77a9806cb0ffdb0b323c1d67f8026ff
      - heuristics:d77a9806cb0ffdb0b323c1d67f8026ff
      - execution:d77a9806cb0ffdb0b323c1d67f8026ff
    - mutation_analysis:1b3e09bb9a4a9de7fb45509e9d06225d
      - heuristics:1b3e09bb9a4a9de7fb45509e9d06225d
      - execution:1b3e09bb9a4a9de7fb45509e9d06225d
    - mutation_analysis:9c6707bd6a7968c642e02e8be828ba16
      - heuristics:9c6707bd6a7968c642e02e8be828ba16
      - execution:9c6707bd6a7968c642e02e8be828ba16
    - mutation_analysis:3ebfa8a889cfa410f863c3985db33f5c
      - heuristics:3ebfa8a889cfa410f863c3985db33f5c
      - execution:3ebfa8a889cfa410f863c3985db33f5c
    - mutation_analysis:bed7ef7c071cc7c682b50772d627b034
      - heuristics:bed7ef7c071cc7c682b50772d627b034
      - execution:bed7ef7c071cc7c682b50772d627b034
    - mutation_analysis:edd56ef0ae942e01a8de18434e46af54
      - heuristics:edd56ef0ae942e01a8de18434e46af54
      - execution:edd56ef0ae942e01a8de18434e46af54
    - mutation_analysis:a273a154a56402d7ef41f813c4ddbe36
      - heuristics:a273a154a56402d7ef41f813c4ddbe36
      - execution:a273a154a56402d7ef41f813c4ddbe36
    - mutation_analysis:6426cee1ebecdf640efbfa676c02f9aa
      - heuristics:6426cee1ebecdf640efbfa676c02f9aa
      - execution:6426cee1ebecdf640efbfa676c02f9aa
    - mutation_analysis:0b41b3e851e9b1b227f7476c967bda1c
      - heuristics:0b41b3e851e9b1b227f7476c967bda1c
      - execution:0b41b3e851e9b1b227f7476c967bda1c
    - mutation_analysis:9ef60db099e90dad3899a4489e6c429c
      - heuristics:9ef60db099e90dad3899a4489e6c429c
      - execution:9ef60db099e90dad3899a4489e6c429c
    - mutation_analysis:f77416c4f9fc845c70ba59940aa3dd72
      - heuristics:f77416c4f9fc845c70ba59940aa3dd72
      - execution:f77416c4f9fc845c70ba59940aa3dd72
    - mutation_analysis:bd175e67452d88ba8207be8041ad0573
      - heuristics:bd175e67452d88ba8207be8041ad0573
      - execution:bd175e67452d88ba8207be8041ad0573
    - mutation_analysis:f5eb037044ff26f13a8c61d222005d92
      - heuristics:f5eb037044ff26f13a8c61d222005d92
      - execution:f5eb037044ff26f13a8c61d222005d92
    - mutation_analysis:e2c90b577febf6b6dec46df5a39cf07e
      - heuristics:e2c90b577febf6b6dec46df5a39cf07e
      - execution:e2c90b577febf6b6dec46df5a39cf07e
    - mutation_analysis:26340c1ae36daed2c86d9864f8cca521
      - heuristics:26340c1ae36daed2c86d9864f8cca521
      - execution:26340c1ae36daed2c86d9864f8cca521
    - mutation_analysis:8ec09115a3e58520c81502c6b6fa7abe
      - heuristics:8ec09115a3e58520c81502c6b6fa7abe
      - execution:8ec09115a3e58520c81502c6b6fa7abe
    - mutation_analysis:aaa97deb1d8a5e65dd5787e24ce05535
      - heuristics:aaa97deb1d8a5e65dd5787e24ce05535
      - execution:aaa97deb1d8a5e65dd5787e24ce05535
    - mutation_analysis:2c4baad2b1c0d0c713076901e08acf49
      - heuristics:2c4baad2b1c0d0c713076901e08acf49
      - execution:2c4baad2b1c0d0c713076901e08acf49
    - mutation_analysis:634eb4908298b7f5825d063aba3d77e5
      - heuristics:634eb4908298b7f5825d063aba3d77e5
      - execution:634eb4908298b7f5825d063aba3d77e5
    - mutation_analysis:6ddaece933c66aa9d5d1a446c691f7fc
      - heuristics:6ddaece933c66aa9d5d1a446c691f7fc
      - execution:6ddaece933c66aa9d5d1a446c691f7fc
    - mutation_analysis:d328532c5b0acf26b8a07078ef57c1b4
      - heuristics:d328532c5b0acf26b8a07078ef57c1b4
      - execution:d328532c5b0acf26b8a07078ef57c1b4
    - mutation_analysis:745a4ca5cda59592d9f4fbd83371b9d5
      - heuristics:745a4ca5cda59592d9f4fbd83371b9d5
      - execution:745a4ca5cda59592d9f4fbd83371b9d5
    - mutation_analysis:f8d65c9f84cb09653332a5fbf75a9a39
      - heuristics:f8d65c9f84cb09653332a5fbf75a9a39
      - execution:f8d65c9f84cb09653332a5fbf75a9a39
    - mutation_analysis:fd42066ba883ea851b91964ce4d3ed23
      - heuristics:fd42066ba883ea851b91964ce4d3ed23
      - execution:fd42066ba883ea851b91964ce4d3ed23
    - mutation_analysis:cc89b55fec65a14a17ec510b28e38dd3
      - heuristics:cc89b55fec65a14a17ec510b28e38dd3
      - execution:cc89b55fec65a14a17ec510b28e38dd3
    - mutation_analysis:478aa171d59684c039beb8f4c7703223
      - heuristics:478aa171d59684c039beb8f4c7703223
      - execution:478aa171d59684c039beb8f4c7703223
    - mutation_analysis:9876848f2f2d4b9f4165205e2f0b2d45
      - heuristics:9876848f2f2d4b9f4165205e2f0b2d45
      - execution:9876848f2f2d4b9f4165205e2f0b2d45
    - mutation_analysis:67bf96b2bd02e42b1cadf0c190d8ae15
      - heuristics:67bf96b2bd02e42b1cadf0c190d8ae15
      - execution:67bf96b2bd02e42b1cadf0c190d8ae15
    - mutation_analysis:ccbc902f830b842edef926fe73d175da
      - heuristics:ccbc902f830b842edef926fe73d175da
      - execution:ccbc902f830b842edef926fe73d175da
    - mutation_analysis:9665c85b5bb54d1fcddf62dd38b7a3dd
      - heuristics:9665c85b5bb54d1fcddf62dd38b7a3dd
      - execution:9665c85b5bb54d1fcddf62dd38b7a3dd
    - mutation_analysis:0d94ed97e83e3718072d1c2bfe805d5f
      - heuristics:0d94ed97e83e3718072d1c2bfe805d5f
      - execution:0d94ed97e83e3718072d1c2bfe805d5f
    - mutation_analysis:e6a209e67ee87ba344152f7ad7281bec
      - heuristics:e6a209e67ee87ba344152f7ad7281bec
      - execution:e6a209e67ee87ba344152f7ad7281bec
    - mutation_analysis:a359ca70262160dc64627acb4a371262
      - heuristics:a359ca70262160dc64627acb4a371262
      - execution:a359ca70262160dc64627acb4a371262
    - mutation_analysis:3bf264cb2e29005291baf2ad55f7af89
      - heuristics:3bf264cb2e29005291baf2ad55f7af89
      - execution:3bf264cb2e29005291baf2ad55f7af89
    - mutation_analysis:7daafb826f790a26f457449ed6188e11
      - heuristics:7daafb826f790a26f457449ed6188e11
      - execution:7daafb826f790a26f457449ed6188e11
    - mutation_analysis:318db202a19da291b958c9e862421103
      - heuristics:318db202a19da291b958c9e862421103
      - execution:318db202a19da291b958c9e862421103
    - mutation_analysis:26c460c4bacde35839d74ce8ef6d2a89
      - heuristics:26c460c4bacde35839d74ce8ef6d2a89
      - execution:26c460c4bacde35839d74ce8ef6d2a89
    - mutation_analysis:9ed0abb709d6cb7ffdfdd4890d62da8c
      - heuristics:9ed0abb709d6cb7ffdfdd4890d62da8c
      - execution:9ed0abb709d6cb7ffdfdd4890d62da8c
    - mutation_analysis:e4f452156ea66e78bee973a67e719699
      - heuristics:e4f452156ea66e78bee973a67e719699
      - execution:e4f452156ea66e78bee973a67e719699
    - mutation_analysis:5dd009bd1bd0030efc0938e54edba77c
      - heuristics:5dd009bd1bd0030efc0938e54edba77c
      - execution:5dd009bd1bd0030efc0938e54edba77c
    - mutation_analysis:5296f0d65b9d99c6a2a7aebd02546867
      - heuristics:5296f0d65b9d99c6a2a7aebd02546867
      - execution:5296f0d65b9d99c6a2a7aebd02546867
    - mutation_analysis:8c398e59f9e8e0931e2bb0055a11ed20
      - heuristics:8c398e59f9e8e0931e2bb0055a11ed20
      - execution:8c398e59f9e8e0931e2bb0055a11ed20
    - mutation_analysis:2917d35cef489239319c5b16b2d50cf6
      - heuristics:2917d35cef489239319c5b16b2d50cf6
      - execution:2917d35cef489239319c5b16b2d50cf6
    - mutation_analysis:38cd8a085409ed9276dbe3bfb25d6b11
      - heuristics:38cd8a085409ed9276dbe3bfb25d6b11
      - execution:38cd8a085409ed9276dbe3bfb25d6b11
    - mutation_analysis:5bd715464f0c0e69766ebab02b5ff02a
      - heuristics:5bd715464f0c0e69766ebab02b5ff02a
      - execution:5bd715464f0c0e69766ebab02b5ff02a
    - mutation_analysis:80451164b5a9d53032c1ab26d89d7f40
      - heuristics:80451164b5a9d53032c1ab26d89d7f40
      - execution:80451164b5a9d53032c1ab26d89d7f40
    - mutation_analysis:3298ac5a9be4b93809b6052b077b599d
      - heuristics:3298ac5a9be4b93809b6052b077b599d
      - execution:3298ac5a9be4b93809b6052b077b599d
    - mutation_analysis:e2c40ceaf4d29a30b21eedda6b665f23
      - heuristics:e2c40ceaf4d29a30b21eedda6b665f23
      - execution:e2c40ceaf4d29a30b21eedda6b665f23
    - mutation_analysis:fb62e42fd4fa69c0cb6879b132bc1b78
      - heuristics:fb62e42fd4fa69c0cb6879b132bc1b78
      - execution:fb62e42fd4fa69c0cb6879b132bc1b78
    - mutation_analysis:b12d699356e1b23903f80083a4733573
      - heuristics:b12d699356e1b23903f80083a4733573
      - execution:b12d699356e1b23903f80083a4733573
    - mutation_analysis:7dc59e933a3d51f961f149d285f05334
      - heuristics:7dc59e933a3d51f961f149d285f05334
      - execution:7dc59e933a3d51f961f149d285f05334
    - mutation_analysis:e74f45b478a9cd1207564461bb9ea142
      - heuristics:e74f45b478a9cd1207564461bb9ea142
      - execution:e74f45b478a9cd1207564461bb9ea142
    - mutation_analysis:fab0c88582e7610ef15f72bf6714c5a2
      - heuristics:fab0c88582e7610ef15f72bf6714c5a2
      - execution:fab0c88582e7610ef15f72bf6714c5a2
    - mutation_analysis:c979268d6bad844abac1ffdff80e81f1
      - heuristics:c979268d6bad844abac1ffdff80e81f1
      - execution:c979268d6bad844abac1ffdff80e81f1
    - mutation_analysis:afd405c49df210afbb0cea9125a2ca51
      - heuristics:afd405c49df210afbb0cea9125a2ca51
      - execution:afd405c49df210afbb0cea9125a2ca51
    - mutation_analysis:d40d37695a4f749ce1c95f8f7374fcee
      - heuristics:d40d37695a4f749ce1c95f8f7374fcee
      - execution:d40d37695a4f749ce1c95f8f7374fcee
    - mutation_analysis:854dfda87b07b4e05b1cf72842e1c9db
      - heuristics:854dfda87b07b4e05b1cf72842e1c9db
      - execution:854dfda87b07b4e05b1cf72842e1c9db
    - mutation_analysis:a32f1869836ef4f0fa023d12a571601d
      - heuristics:a32f1869836ef4f0fa023d12a571601d
      - execution:a32f1869836ef4f0fa023d12a571601d
    - mutation_analysis:86bbfab11d2d97b8976aa303841537be
      - heuristics:86bbfab11d2d97b8976aa303841537be
      - execution:86bbfab11d2d97b8976aa303841537be
    - mutation_analysis:5e9d96264af942f8b58f2fa8e68bfbc8
      - heuristics:5e9d96264af942f8b58f2fa8e68bfbc8
      - execution:5e9d96264af942f8b58f2fa8e68bfbc8
    - mutation_analysis:a966c38035cc222ea5e7982fe7019d50
      - heuristics:a966c38035cc222ea5e7982fe7019d50
      - execution:a966c38035cc222ea5e7982fe7019d50
    - mutation_analysis:182542f9c93e95ce43bb6285f86b23e4
      - heuristics:182542f9c93e95ce43bb6285f86b23e4
      - execution:182542f9c93e95ce43bb6285f86b23e4
    - mutation_analysis:1f958a032920b4c69fa05c118f66d38a
      - heuristics:1f958a032920b4c69fa05c118f66d38a
      - execution:1f958a032920b4c69fa05c118f66d38a
    - mutation_analysis:8bb44a21fa6c6d1c2170805a12cd90d2
      - heuristics:8bb44a21fa6c6d1c2170805a12cd90d2
      - execution:8bb44a21fa6c6d1c2170805a12cd90d2
    - mutation_analysis:7a61122a1a735932d1d00a144e3af9be
      - heuristics:7a61122a1a735932d1d00a144e3af9be
      - execution:7a61122a1a735932d1d00a144e3af9be
    - mutation_analysis:2ae9d44486c8262edceae2b8a0d45624
      - heuristics:2ae9d44486c8262edceae2b8a0d45624
      - execution:2ae9d44486c8262edceae2b8a0d45624
    - mutation_analysis:d48458f443662f3c9045f62d8df2b46d
      - heuristics:d48458f443662f3c9045f62d8df2b46d
      - execution:d48458f443662f3c9045f62d8df2b46d
    - mutation_analysis:1d3c6454de1f9728027fd4d6ac8b3c77
      - heuristics:1d3c6454de1f9728027fd4d6ac8b3c77
      - execution:1d3c6454de1f9728027fd4d6ac8b3c77
    - mutation_analysis:729d5f06b286c6e0aaeab398cd15a3f6
      - heuristics:729d5f06b286c6e0aaeab398cd15a3f6
      - execution:729d5f06b286c6e0aaeab398cd15a3f6
    - mutation_analysis:b156fb1d02da204ba2d64e8b422667b5
      - heuristics:b156fb1d02da204ba2d64e8b422667b5
      - execution:b156fb1d02da204ba2d64e8b422667b5
    - mutation_analysis:8c23d98bece367ba6f815cbbff946125
      - heuristics:8c23d98bece367ba6f815cbbff946125
      - execution:8c23d98bece367ba6f815cbbff946125
    - mutation_analysis:8efb3abe92d05c7bafe1e1b83b45914e
      - heuristics:8efb3abe92d05c7bafe1e1b83b45914e
      - execution:8efb3abe92d05c7bafe1e1b83b45914e
    - mutation_analysis:66e7bf54abc94c3cbb09c500ca1a2e87
      - heuristics:66e7bf54abc94c3cbb09c500ca1a2e87
      - execution:66e7bf54abc94c3cbb09c500ca1a2e87
    - mutation_analysis:590865f5c7e0e6f7a5b51dd60f37844c
      - heuristics:590865f5c7e0e6f7a5b51dd60f37844c
      - execution:590865f5c7e0e6f7a5b51dd60f37844c
    - mutation_analysis:1bbf2e0181d4c9989dbc247aa2ac2449
      - heuristics:1bbf2e0181d4c9989dbc247aa2ac2449
      - execution:1bbf2e0181d4c9989dbc247aa2ac2449
    - mutation_analysis:7cd7e0b5e27a2b49aa05866759a0f4ca
      - heuristics:7cd7e0b5e27a2b49aa05866759a0f4ca
      - execution:7cd7e0b5e27a2b49aa05866759a0f4ca
    - mutation_analysis:0ac185aaef3444d39d82c66dad00feb1
      - heuristics:0ac185aaef3444d39d82c66dad00feb1
      - execution:0ac185aaef3444d39d82c66dad00feb1
    - mutation_analysis:4f644034bb315757fea38ce78fc93270
      - heuristics:4f644034bb315757fea38ce78fc93270
      - execution:4f644034bb315757fea38ce78fc93270
    - mutation_analysis:27dede686f4cc6ab5605d02a15ef286b
      - heuristics:27dede686f4cc6ab5605d02a15ef286b
      - execution:27dede686f4cc6ab5605d02a15ef286b
    - mutation_analysis:e88fec6885601b2922679eaa3171a6ae
      - heuristics:e88fec6885601b2922679eaa3171a6ae
      - execution:e88fec6885601b2922679eaa3171a6ae
    - mutation_analysis:22671889b8f1d7aa6ba1da0628123064
      - heuristics:22671889b8f1d7aa6ba1da0628123064
      - execution:22671889b8f1d7aa6ba1da0628123064
    - mutation_analysis:d28fd9a2271e9497de3251467536674b
      - heuristics:d28fd9a2271e9497de3251467536674b
      - execution:d28fd9a2271e9497de3251467536674b
    - mutation_analysis:a627a2428c456c4272c7fab0a94b3e66
      - heuristics:a627a2428c456c4272c7fab0a94b3e66
      - execution:a627a2428c456c4272c7fab0a94b3e66
    - mutation_analysis:8b06ba8799df4ca8bfd5ba05e1c1e730
      - heuristics:8b06ba8799df4ca8bfd5ba05e1c1e730
      - execution:8b06ba8799df4ca8bfd5ba05e1c1e730
    - mutation_analysis:e69fb1bd0cdbf143159a2b234f1059e3
      - heuristics:e69fb1bd0cdbf143159a2b234f1059e3
      - execution:e69fb1bd0cdbf143159a2b234f1059e3
    - mutation_analysis:f2d42cd0a3e86119b3b6b5b235987880
      - heuristics:f2d42cd0a3e86119b3b6b5b235987880
      - execution:f2d42cd0a3e86119b3b6b5b235987880
    - mutation_analysis:6b4f48d7dbf642489a170b9050477142
      - heuristics:6b4f48d7dbf642489a170b9050477142
      - execution:6b4f48d7dbf642489a170b9050477142
    - mutation_analysis:ac23d3bb093061da7c32399dd5a8fb09
      - heuristics:ac23d3bb093061da7c32399dd5a8fb09
      - execution:ac23d3bb093061da7c32399dd5a8fb09
    - mutation_analysis:03f0f8f726440b40aa7e22cb0644b0d2
      - heuristics:03f0f8f726440b40aa7e22cb0644b0d2
      - execution:03f0f8f726440b40aa7e22cb0644b0d2
    - mutation_analysis:1f06f7d9602b4ed4d23ea90f76b1e6be
      - heuristics:1f06f7d9602b4ed4d23ea90f76b1e6be
      - execution:1f06f7d9602b4ed4d23ea90f76b1e6be
    - mutation_analysis:e8c3b1cb3dc7e0bf9238442055b17feb
      - heuristics:e8c3b1cb3dc7e0bf9238442055b17feb
      - execution:e8c3b1cb3dc7e0bf9238442055b17feb
    - mutation_analysis:214e2d8a4772f611792d54f384ba6f67
      - heuristics:214e2d8a4772f611792d54f384ba6f67
      - execution:214e2d8a4772f611792d54f384ba6f67
    - mutation_analysis:ef319f4416294f61da4c1e742452815d
      - heuristics:ef319f4416294f61da4c1e742452815d
      - execution:ef319f4416294f61da4c1e742452815d
    - mutation_analysis:25af91aabbf7f66871027ffae7911685
      - heuristics:25af91aabbf7f66871027ffae7911685
      - execution:25af91aabbf7f66871027ffae7911685
    - mutation_analysis:92bf4d0ebdfd54b07a15ad599e505c3a
      - heuristics:92bf4d0ebdfd54b07a15ad599e505c3a
      - execution:92bf4d0ebdfd54b07a15ad599e505c3a
    - mutation_analysis:0f1c5efd95c00c1761acb9268cd60dc7
      - heuristics:0f1c5efd95c00c1761acb9268cd60dc7
      - execution:0f1c5efd95c00c1761acb9268cd60dc7
    - mutation_analysis:bd69bcb724638a222926696530c391ff
      - heuristics:bd69bcb724638a222926696530c391ff
      - execution:bd69bcb724638a222926696530c391ff
    - mutation_analysis:cdf6d48a4eed76955c00af7791989e06
      - heuristics:cdf6d48a4eed76955c00af7791989e06
      - execution:cdf6d48a4eed76955c00af7791989e06
    - mutation_analysis:4150cd9575b0eb53c3077d0e7e2aea41
      - heuristics:4150cd9575b0eb53c3077d0e7e2aea41
      - execution:4150cd9575b0eb53c3077d0e7e2aea41
    - mutation_analysis:af46aaad4f1638d6723420d9dba7c20f
      - heuristics:af46aaad4f1638d6723420d9dba7c20f
      - execution:af46aaad4f1638d6723420d9dba7c20f
    - mutation_analysis:2612686b60a1195d205b4a13d3be1055
      - heuristics:2612686b60a1195d205b4a13d3be1055
      - execution:2612686b60a1195d205b4a13d3be1055
    - mutation_analysis:de043ac309e4d44871274752c9f4521a
      - heuristics:de043ac309e4d44871274752c9f4521a
      - execution:de043ac309e4d44871274752c9f4521a
    - mutation_analysis:8aa91511a6351dcbda2336767a2043dd
      - heuristics:8aa91511a6351dcbda2336767a2043dd
      - execution:8aa91511a6351dcbda2336767a2043dd
    - mutation_analysis:4d0f50b797a629bf8d3684846fd5fb15
      - heuristics:4d0f50b797a629bf8d3684846fd5fb15
      - execution:4d0f50b797a629bf8d3684846fd5fb15
    - mutation_analysis:1d8501e155eda3d164a5609e90d87755
      - heuristics:1d8501e155eda3d164a5609e90d87755
      - execution:1d8501e155eda3d164a5609e90d87755
    - mutation_analysis:bf88f11ea13b374d99658293fca03028
      - heuristics:bf88f11ea13b374d99658293fca03028
      - execution:bf88f11ea13b374d99658293fca03028
    - mutation_analysis:fbec4215b69cefe0eac1987953c17694
      - heuristics:fbec4215b69cefe0eac1987953c17694
      - execution:fbec4215b69cefe0eac1987953c17694
    - mutation_analysis:de359a38397d4fb4a9e64f54e4ab5fef
      - heuristics:de359a38397d4fb4a9e64f54e4ab5fef
      - execution:de359a38397d4fb4a9e64f54e4ab5fef
    - mutation_analysis:c50107b679336efb39755b995fa123e8
      - heuristics:c50107b679336efb39755b995fa123e8
      - execution:c50107b679336efb39755b995fa123e8
    - mutation_analysis:e5af5971c227cf92b26c0b1169f18b17
      - heuristics:e5af5971c227cf92b26c0b1169f18b17
      - execution:e5af5971c227cf92b26c0b1169f18b17
    - mutation_analysis:86aaca2fd95d400c8045d4a0c60163ed
      - heuristics:86aaca2fd95d400c8045d4a0c60163ed
      - execution:86aaca2fd95d400c8045d4a0c60163ed
    - mutation_analysis:b5452d33f21911c6811384758de707c7
      - heuristics:b5452d33f21911c6811384758de707c7
      - execution:b5452d33f21911c6811384758de707c7
    - mutation_analysis:ee070989ff94b3a4a2c710bca4a2f814
      - heuristics:ee070989ff94b3a4a2c710bca4a2f814
      - execution:ee070989ff94b3a4a2c710bca4a2f814
    - mutation_analysis:eadeef160eabee86b0c32e2da90f0715
      - heuristics:eadeef160eabee86b0c32e2da90f0715
      - execution:eadeef160eabee86b0c32e2da90f0715
    - mutation_analysis:359fb5bf52ce99969e34eca8a27a56c6
      - heuristics:359fb5bf52ce99969e34eca8a27a56c6
      - execution:359fb5bf52ce99969e34eca8a27a56c6
    - mutation_analysis:6d955df218741f5a46ed37db23243315
      - heuristics:6d955df218741f5a46ed37db23243315
      - execution:6d955df218741f5a46ed37db23243315
    - mutation_analysis:2c5bbd38ed505326006c220aba5c5b38
      - heuristics:2c5bbd38ed505326006c220aba5c5b38
      - execution:2c5bbd38ed505326006c220aba5c5b38
    - mutation_analysis:78543a2c13d3479208289e337f230d93
      - heuristics:78543a2c13d3479208289e337f230d93
      - execution:78543a2c13d3479208289e337f230d93

Missing pieces:

  • Add the duration and memory consumption next to each trace
  • Make it possible to dump a specific span (which gives control on the verbosity or focus on a specific part)
  • Allow to print more details about a specific span
  • Figure out how we want to be used on a regular basis (likely a new param --profile?)
  • Extract the pieces/polish

@theofidry
Copy link
Member Author

@staabm @infection/core happy to get a first round of feedback about the functionality (i.e. not the code).

The description is up to date, but there is more options available about what to display.

A few notes to keep in mind/consider:

  • Currently I use the trace spl_object_id, so you will see something like file:1331. I don't think this is a reliable way to proceed, we should instead have a deterministic trace ID.
  • In case it is not clear, the file scope span means the processing of a file from starting to parse the file to getting the mutations results. So in this output:
Trace ID: ca9f88e20fff

─ file:1331 - 4.4s (100%), peak 17.04MB, Δ2.00MB
    ├─ parsing:1331 - 16ms (0%), peak 16.27MB, Δ1.32MB
    ├─ mutation_analysis:42b551de206eb9227769260f28c106c6 - 220ms (5%), peak 16.27MB, Δ0.51MB
    │   ├─ heuristics:42b551de206eb9227769260f28c106c6 - >1ms (0%), peak 16.27MB, Δ3.69KB
    │   └─ execution:42b551de206eb9227769260f28c106c6 - 220ms (100%), peak 16.27MB, Δ0.49MB
    ├─ mutation_analysis:42b551de206eb9227769260f28c106c6 - 220ms (5%), peak 16.27MB, Δ0.51MB
    │   ├─ heuristics:42b551de206eb9227769260f28c106c6 - >1ms (0%), peak 16.27MB, Δ3.69KB
    │   └─ execution:42b551de206eb9227769260f28c106c6 - 220ms (100%), peak 16.27MB, Δ0.49MB

We parsed fileA, it resulted in X mutations/mutants. Heuristics = checks done on the mutation to see if we can kill it before executing it in a separate process.

I use the term file rather than trace because maybe using the trace as the origin may be changed in the future (at least I would like to). But maybe meanwhile it would be clearer.

  • from a usability PoV, either we should display the title (but it is a bit cramped already) or have a way to display a title so that we could easily identify what <spanId> is. For example:

    • file:1331: Processing of the trace X, for which we know the source file and tests, so we could list them.
    • parsing:1331, parsing phase of the trace X, could display the details of the trace here too.
    • mutation_analysis:42b551de206eb9227769260f28c106c6: the ID is the mutation hash, from it we can get the mutator node and the changed code.
    • Since it is tight space wise already, I would suggest to introduce a new method telemetry:trace:details <path-to-trace> <span-id>
  • While we have a lot of details about the resources used and timings, it does not replace not it is meant to replace a Blackfire or equivalent. It is an alternative solution to have another (potentially more exhaustive) look at the execution of a trace.

  • IMO in its current form it is not all that useful, but I hope would could find a way to diff to traces. As a result, you could have two deterministic executions and evaluate differences in execution/result.

What I want to achieve with this system, is to have a reliable way to assess the execution of infection, to evaluate if a change is an improvement or not. I think the base framework introduced here is a good base, but I'm unsure of what it is missing to be able to use it for this purpose comfortably. I already invested quite some time on it, hence I would appreciate a round of feedback before proceeding any further. I am totally fine with "this is not going anywhere, let's drop it", or defining what sort of result we want to see.

@sanmai sanmai self-assigned this Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0