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

Use position IDs as Viper line numbers #1418

Merged
merged 3 commits into from
Jun 30, 2023
Merged

Use position IDs as Viper line numbers #1418

merged 3 commits into from
Jun 30, 2023

Conversation

fpoli
Copy link
Member

@fpoli fpoli commented Jun 26, 2023

Another attempt at #1389.

This PR ensures that Viper positions have unique (line, column) pairs, since Silicon does not use the identifier when deduplicating verification errors from multiple execution paths. Related discussion: viperproject/silicon#732.

The line and column of VIR positions will still refer to the source Rust program, because Prusti uses them to deduplicate counterexamples. Explanation: #1389 (comment). They are then ignored when translating to Viper.

This PR adds a num_errors_per_function configuration flag to set --numberOfErrorsToReport in Silicon. However, I still can't get more than one error per function. 🤔

@fpoli fpoli force-pushed the unique-positions branch from 070af85 to f00675c Compare June 26, 2023 15:31
@fpoli fpoli requested a review from Aurel300 June 26, 2023 15:32
@fpoli fpoli force-pushed the unique-positions branch from 995ac9a to 0e932ee Compare June 27, 2023 12:59
@fpoli
Copy link
Member Author

fpoli commented Jun 27, 2023

See viperproject/silicon#735 for the explanation of why we don't get multiple verification errors from Silicon.

@fpoli fpoli force-pushed the unique-positions branch from 0e932ee to 9b323c3 Compare June 27, 2023 13:46
@fpoli fpoli force-pushed the unique-positions branch from 9b323c3 to 2d58e80 Compare June 27, 2023 14:13
@fpoli fpoli merged commit 2c2145c into master Jun 30, 2023
@fpoli fpoli deleted the unique-positions branch June 30, 2023 08:49
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