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

[FEATURE] Overhaul error message treatment #943

Open
shonfeder opened this issue Aug 2, 2021 · 6 comments
Open

[FEATURE] Overhaul error message treatment #943

shonfeder opened this issue Aug 2, 2021 · 6 comments
Labels
product-owner-triage This should be triaged by the product owner usability UX improvements

Comments

@shonfeder
Copy link
Contributor

shonfeder commented Aug 2, 2021

During our retro last week, we discussed some ways we could change the error messaging and user-error handling that would improve learnability and user feedback, and perhaps even improve our development cycle. The two key points discussed were:

  • Elm/Rust-like error messages, that include built in documentation and heuristics to suggest fixes
  • Semi-automating bug reports for any implementation errors. This would at least involve generating a bug report that a user could paste into an issue. But perhaps we could even automate opening an issue?
  • Clear indication when the error comes from a dependency, rather than from Apalache. (E.g, [BUG] GLIBC 2.27 not working with z3 4.8.12 #1006)
@shonfeder shonfeder added the new New issue to be triaged. label Aug 2, 2021
@konnov konnov added usability UX improvements and removed new New issue to be triaged. labels Nov 8, 2021
@Kukovec Kukovec self-assigned this Nov 12, 2021
@konnov konnov modified the milestone: November iteration Nov 18, 2021
@konnov
Copy link
Collaborator

konnov commented Dec 1, 2021

If you working on this right now, check #1127. It's related to error messages. I am going to use to produce message about unsupported operators.

@shonfeder
Copy link
Contributor Author

Related to #802

@shonfeder shonfeder added this to the Erorr Message Overhaul milestone Dec 13, 2021
@shonfeder
Copy link
Contributor Author

As points of reference for the state of the art, the most lauded error messaging I'm aware of are in:

@shonfeder
Copy link
Contributor Author

shonfeder commented Feb 16, 2022

This should be a valuable resource in helping guide our design: https://web.eecs.umich.edu/~akamil/papers/iticse19.pdf

@thpani
Copy link
Collaborator

thpani commented May 5, 2022

Related: #1654

@shonfeder
Copy link
Contributor Author

shonfeder commented May 10, 2022

See https://github.com/informalsystems/apalache/pull/1717/files#r868375855

Where I suggest:

- [Bug874.tla:4:17-4:27]: Cannot apply ["a" ↦ 2] to the argument "b" in (["a" ↦ 2])["b"].
+ [Bug874.tla:4:17-4:27]: Cannot access nonexistent field "b" in record ["a" ↦ 2] in (["a" ↦ 2])["b"].

This should go with a more systematic treatment of composing phrasing for errors on particular kinds of values.

@konnov konnov added the product-owner-triage This should be triaged by the product owner label Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
product-owner-triage This should be triaged by the product owner usability UX improvements
Projects
None yet
Development

No branches or pull requests

4 participants