Give VerCors the capability to report under which branch conditions an error occurs #881
Replies: 3 comments 1 reply
-
Do you have some idea of translating this information back through the passes as well? That sounds particularly difficult. As a compromise, maybe we can label each branch condition with the type of origin. That could give some indication of its meaning (given that we've been diligent with origins... Hmmm.) For unprocessed presentation, I think presenting them as a list together with the failed assertion would be nice, though only when activated by a flag. One thing we can maybe improve is split individual path conditions over &&/** as well. So if you have a path condition If you want a very pretty way of presenting it to the user, or give the user the option to compress some part of the branch condition but not others, perhaps you can generate HTML and use the trick for collapsible CSS trees in this article: https://iamkate.com/code/tree-views/ EDIT: This information would also be helpful on assertions where we time out! To be clear, I would already be happy with a plaintext dump split on top-level conjuction-like operators :) (Or you could use unicode characters for fancy printing :)) |
Beta Was this translation helpful? Give feedback.
-
I think the optimal solution is to have an indication in the gutter, where e.g. active branches are green, and ignored paths are grayed out (something to that effect). We can figure out some type of highlighting thing for inline branches (ternaries and whatnot). Obviously we would first need some kind of IDE... |
Beta Was this translation helpful? Give feedback.
-
From the meeting:
|
Beta Was this translation helpful? Give feedback.
-
Silicon can simply output this information with
--enableBranchconditionReporting
:If you have suggestions on how to render this, that would be appreciated! I think you can fairly easily get to a somewhat large number of branch conditions, so that's a concern.
Beta Was this translation helpful? Give feedback.
All reactions