Skip to content

Use position IDs as Viper line numbers#1418

Merged
fpoli merged 3 commits intomasterfrom
unique-positions
Jun 30, 2023
Merged

Use position IDs as Viper line numbers#1418
fpoli merged 3 commits intomasterfrom
unique-positions

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