-
Notifications
You must be signed in to change notification settings - Fork 169
Issue with zilu benchmark #1159
Comments
I also think many of the benchmarks can result in overflow, thus leading to undefined behaviour. Below some examples benchmark12_linear
benchmark28_linear
In the later case, the problem is not just the overflow, the following assignment also leads to a violation
|
I think you are correct, thanks for the hint!. In the paper they were mainly concerned with (linear) invariants and probably didn't account for overflows. For benchmark07_linear I think they might have forgotten to constrain k to non-negative values. That probably explains why none of the verifiers in table 1 in the publication (https://lijiaying.github.io/papers/ase17.pdf) were able to "find the invariant". |
According to Dartagnan, all the following would result in overflow
And even if the overflow problem would be solved in |
Not sure what is the best course of action to solve the benchmarks for the reachability property (solution might be benchmarks independent), but if we don't find a solution before the verification tasks freeze (tomorrow), I think we should at least remove them from the reachability category and add them to the no-overflow category. |
I think there is a misunderstanding. Tomorrow is not the final task freezing. You need to have made your PR by tomorrow if you want your new tasks in the competition. PRs that are made later will not be used in the competition, unles the jury votes otherwise. There is time to fix tasks in the repo and in existing PRs until 13th of November:
|
ohhhh that's very good to know. |
The first deadline is just to prevent people from adding completely new tasks shortly before the freezing. If there are bugs in the already existing tasks, we accept fixes until the deadline on 13th of November. If we find bugs after that, then those tasks are excluded for SV-COMP 2021 on a separate branch, where they will simply be removed. PRs with fixes can of course still be made, but only against master and not on that SV-COMP 2021 branch. |
CPAchecker actually found even more overflows:
I better get going in fixing all of them 🤕 |
These require quite different fixes, so for now I just marked them as Here is the fixes I would perform for the first 5 tasks. Only 2 programs have the same fix. Fixing this would become pretty time-consuming and will probably not happen for this year's competition. benchmark01_conjunctive.iat start of while loop body insert:
benchmark06_conjunctive.imake all types benchmark07_linear.ibound variable benchmark12_linear.iat start of while loop body insert:
benchmark15_conjunctive.icomplete rewrite of the precondition?! It currently is:
|
Fixed in #1191 . |
benchmark07_linear
hastrue
as expected result.However, isn't the following a violation?
Initial state
End state
Am I missing something?
The text was updated successfully, but these errors were encountered: