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

Add block level messages #867

Draft
wants to merge 10 commits into
base: master
Choose a base branch
from
Draft

Conversation

trktby
Copy link

@trktby trktby commented Sep 4, 2024

This PR aims to provide more granular progress reporting for the Prusti-Assistant VS Code extension. It is part of a practical work supervised by @Aurel300. It depends on a corresponding Silver PR.

The new Silver messages are emitted during execution. New information for tracking progress is added to the Executor and State, and kept up to date if a new --generateBlockMessages flag is set.
This information includes:

  • an ID for execution paths (a new ID is assigned at a branching point)
  • a hashset to keep track of the completion of such paths
  • a currentBlock field in the State, comprised of a label and path id.

Only labeled blocks are reported.
BlockProcessedMessages are currently sent when the entire
subtree rooted in the respective block has finished executing.
Use a path id and method names to communicate messages with
execution paths.
Also fix minor bug causing crashes for empty blocks.
There were issues with the --numErrorsToReport option.
PathProcessedMessages may have emitted false results since the result of
the last explored block did not match the expected path result. It was
success if the last explored block succeeded, while it was expected to
be Failure if any block on the path failed. Now the message should
merely signify that the path has finished.
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.

1 participant