Change Machdep based on SV-COMP architecture#1574
Conversation
initCIL already depends on theMachine, but it overwrites it. Must use envMachine to select it based on exp.architecture beforehand.
|
The sv-benchmarks results (with 60s timeout) indicate some changes to verdicts:
|
|
I think we should investigate the 55 new Also, when this is addressed, I think it makes sense to do a full ressource run the state before this and after it on |
|
I just made a fix ea2f616 which fixes one of those. I'm doing another quick run to see if that covers all of them. |
|
The runs for the context gas values are now finished, I just started the comparison run on the current master (approx 24h), and will then start the run with this after. |
|
In the meantime, there seems to be some problems with OS X left here. |
|
The comparison run I started yesterday has finished this morning, I Just started https://github.com/goblint/analyzer/tree/staging_machdep-arch now. |
michael-schwarz
left a comment
There was a problem hiding this comment.
Good to go from my view as soon as the OS X issue is fixed.
|
For now I disabled the test on MacOS. But I also added error messages about the missing machine definition. At least it's still possible to do SV-COMP runs on MacOS for ILP32 tasks but there will be a clear message about the possible unsoundness. The alternative would be to just crash when the machdep is missing, but that might be too harsh and inconvenient (because In the future we might want to provide pre-generated machdeps in CIL (at least for type sizes if not all machdep components). That should be enough for SV-COMP where preprocessing isn't needed. |
CHANGES: Functionally equivalent to Goblint in SV-COMP 2025. * Add 32bit vs 64bit architecture support (goblint/analyzer#54, goblint/analyzer#1574). * Add per-function context gas analysis (goblint/analyzer#1569, goblint/analyzer#1570, goblint/analyzer#1598). * Adapt automatic static loop unrolling (goblint/analyzer#1516, goblint/analyzer#1582, goblint/analyzer#1583, goblint/analyzer#1584, goblint/analyzer#1590, goblint/analyzer#1595, goblint/analyzer#1599). * Adapt automatic configuration tuning (goblint/analyzer#1450, goblint/analyzer#1612, goblint/analyzer#1181, goblint/analyzer#1604). * Simplify non-relational integer invariants in witnesses (goblint/analyzer#1517). * Fix excessive hash collisions (goblint/analyzer#1594, goblint/analyzer#1602). * Clean up various code (goblint/analyzer#1095, goblint/analyzer#1523, goblint/analyzer#1554, goblint/analyzer#1575, goblint/analyzer#1588, goblint/analyzer#1597, goblint/analyzer#1614).
Closes #54, at least for SV-COMP usage.
TODO
Machdepif possible cil#173.