Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General notes on usability issues revealed by documentation writing #477

Closed
13 of 16 tasks
tedinski opened this issue Sep 10, 2021 · 2 comments
Closed
13 of 16 tasks
Assignees
Labels
[C] Internal Tracks some internal work. I.e.: Users should not be affected.

Comments

@tedinski
Copy link
Contributor

tedinski commented Sep 10, 2021

I just wanted to publicly track the things I came across somewhere as I find them, so I don't forget.

Critical (ordered):

High (unordered)

  • MIR gives us a lot of generated variables that are mostly just copies and obfuscate traces. (e.g. var_10 = 0; then x = var_10;)
  • There should be a "simpler" version of traces for the common case of "just tell me the nondet values in my proof harness"
  • Possibly some "test case reduction" though this would be a CBMC feature. We get traces about (534, 535) that could have been (0, 1)

Medium

  • "Assertion failed: blah: SUCCESS" is confusing. Failed...Success? Can we remove "assertion failed" from successful assertions? #189
  • We should preserve color-coded output of rustc and cbmc. We also need to "stream" output instead of waiting until completion (for instance, to see log lines as they are printed when cbmc doesn't terminate.) I believe this is the same issue. We should connect the 'tty' instead of capturing output as a string and re-printing.
  • We should be able to annotate individual loops with an unwind bound instead of having to resort to a global bound.
  • A better summary view on the command line. Needing to | grep FAIL is not a good user experience. We should summarize failures at the end of a run. (CBMC task?)
  • Can we prioritize (even heuristically) the failures in the output? Helping users understand what they should debug first is a good idea.
  • Can we deal with unreachable assertions? Currently these will just report success, but maybe that wasn't intended. (Coverage debugging problem?)
  • Visualize should also give good output on the command line, not just dump useless xml. (CBMC/viewer task?)
@tedinski tedinski added the [C] Bug This is a bug. Something isn't working. label Sep 10, 2021
@avanhatt
Copy link
Contributor

Re: point 3, previously filed this similar one: #189

@tedinski tedinski self-assigned this Sep 14, 2021
@tedinski tedinski added Cat: tracking issue and removed [C] Bug This is a bug. Something isn't working. labels Mar 14, 2022
@celinval celinval added [C] Internal Tracks some internal work. I.e.: Users should not be affected. and removed Cat: tracking issue labels Nov 9, 2022
@tedinski
Copy link
Contributor Author

I think this one remaining item still has value:

There should be a "simpler" version of traces for the common case of "just tell me the nondet values in my proof harness"

But otherwise this tracking issue is largely complete and no longer useful. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[C] Internal Tracks some internal work. I.e.: Users should not be affected.
Projects
None yet
Development

No branches or pull requests

3 participants