Hi Marc,
Thank you for your feedback here and on the PR itself! I've been able to execute all the unit and integration tests successfully.
Furthermore, some simple manual investigation into the HTML and XML reporting shows what I would expect from my implementation.
In the meantime, I'm setting up a local environment to perform performance testing.
The primary thing that was unclear to me is how this concept of instruction execution count would be mapped to the implementation of merging instructions and replacing branches.
With merging instructions, I would assume that you would want to add the instruction execution count of every branch with the corresponding branch on the other instruction.
Similar to the current or implementation but, rather than combining bits, adding the integers.
Replacing branches, however, is vaguer to me where I do not exactly know why and when that happens. I was especially confused that no information is retained about the target
instruction's branches (b.coveredBranches) apart from whether there is at least one that was covered (the resulting bit that is written into a branch for current instruction).
I was wondering whether my sum implementation would be correct in this context (which I do not understand).
Many thanks,
Pieter Dirk Soels