Conversation
…cted by the user. Adds the option incremental.restart_globs.globs, where a user can provide a list of global variables which should be restarted.
… in different functions
…ve usage of a mutable hashtable
Co-authored-by: Simmo Saan <simmo.saan@gmail.com>
This was for debugging TD3 aborting not interacting well with narrow reuse.
This simplifies the should_restart logic and makes the combination of both "only" options unrepresentable.
|
For good measure, I did a sv-benchmarks comparison run with this entire PR: results. Luckily all these additions to the solver and analyses to track extra information (which we theoretically could disable for batch analysis if we're careful) don't come with a notable penalty. Most of the comparison plot is just noise around the ECA tasks. |
Add server command `pre_files`
jerhard
left a comment
There was a problem hiding this comment.
Looks good!
I only had some remarks about some test files.
|
I let goblint in the current Goblint Command lineThe runtime of the master version was |
|
@michael-schwarz Do you also wish to go over this monster PR once more or can I pull the trigger? |
|
No, I think it's fine! Feel free to merge! |
CHANGES: Goblint "lean" release after a lot of cleanup. * Remove unmaintained analyses: OSEK, ARINC, shapes, containment, deadlocksByRaces (goblint/analyzer#460, goblint/analyzer#736, goblint/analyzer#812, goblint/analyzer#474). * Add interactive analysis (goblint/analyzer#391). * Add server mode (goblint/analyzer#522). * Add Compilation Database support (goblint/analyzer#406, goblint/analyzer#448). * Add floating point domain, unrolled array domain and improved struct domains (goblint/analyzer#734, goblint/analyzer#761, goblint/analyzer#577, goblint/analyzer#419). * Add static loop unrolling and heap variable unrolling (goblint/analyzer#563, goblint/analyzer#722). * Improve race detection with may-happen-in-parallel analysis (goblint/analyzer#529, goblint/analyzer#518, goblint/analyzer#595). * Reimplement lockset and deadlock analyses (goblint/analyzer#659, goblint/analyzer#662, goblint/analyzer#650, goblint/analyzer#655). * Add pthread extraction to Promela (goblint/analyzer#220). * Add location spans to output (goblint/analyzer#428, goblint/analyzer#449). * Improve race reporting (goblint/analyzer#550, goblint/analyzer#551). * Improve dead code reporting (goblint/analyzer#94, goblint/analyzer#353, goblint/analyzer#785). * Refactor warnings (goblint/analyzer#55, goblint/analyzer#783). * Add JSON schema for configuration (goblint/analyzer#476, goblint/analyzer#499). * Refactor option names (goblint/analyzer#28, goblint/analyzer#192, goblint/analyzer#516, goblint/analyzer#675). * Add bash completion (goblint/analyzer#669). * Add OCaml 4.13 and 4.14 support, remove OCaml 4.09 support (goblint/analyzer#503, goblint/analyzer#672).
CHANGES: Goblint "lean" release after a lot of cleanup. * Remove unmaintained analyses: OSEK, ARINC, shapes, containment, deadlocksByRaces (goblint/analyzer#460, goblint/analyzer#736, goblint/analyzer#812, goblint/analyzer#474). * Add interactive analysis (goblint/analyzer#391). * Add server mode (goblint/analyzer#522). * Add Compilation Database support (goblint/analyzer#406, goblint/analyzer#448). * Add floating point domain, unrolled array domain and improved struct domains (goblint/analyzer#734, goblint/analyzer#761, goblint/analyzer#577, goblint/analyzer#419). * Add static loop unrolling and heap variable unrolling (goblint/analyzer#563, goblint/analyzer#722). * Improve race detection with may-happen-in-parallel analysis (goblint/analyzer#529, goblint/analyzer#518, goblint/analyzer#595). * Reimplement lockset and deadlock analyses (goblint/analyzer#659, goblint/analyzer#662, goblint/analyzer#650, goblint/analyzer#655). * Add pthread extraction to Promela (goblint/analyzer#220). * Add location spans to output (goblint/analyzer#428, goblint/analyzer#449). * Improve race reporting (goblint/analyzer#550, goblint/analyzer#551). * Improve dead code reporting (goblint/analyzer#94, goblint/analyzer#353, goblint/analyzer#785). * Refactor warnings (goblint/analyzer#55, goblint/analyzer#783). * Add JSON schema for configuration (goblint/analyzer#476, goblint/analyzer#499). * Refactor option names (goblint/analyzer#28, goblint/analyzer#192, goblint/analyzer#516, goblint/analyzer#675). * Add bash completion (goblint/analyzer#669). * Add OCaml 4.13 and 4.14 support, remove OCaml 4.09 support (goblint/analyzer#503, goblint/analyzer#672).
This draft PR serves as a place to list the changes on the
interactivebranch, which have been combined there for better experimentation.Changes
TD3: optimize destabilization by aborting transfer function when unchanged #364Reverted, because not used for interactive paper and modifies TD3 too much.force-reanalyze, even whenreluctantis on #600ana.malloc.include-node#647 (parts cherry-picked)incremental.reluctant.on→incremental.reluctant.enabledfor consistency.pre_files#740TODO
Hack incremental accesses to only restart during postsolving #633masterand have allinteractivetests come after. Currently they've all been chaotically renamed when tests with same numbers have been added on both branches simultaneously while trying to fix duplicate ID errors.