Port tutorial analyses to SimplifiedSpec and reuse SimplifiedUnitAnalysis defaults while preserving unitAnalysis compatibility - #2043
Port tutorial analyses to SimplifiedSpec and reuse SimplifiedUnitAnalysis defaults while preserving unitAnalysis compatibility#2043michael-schwarz with Copilot wants to merge 14 commits into
SimplifiedSpec and reuse SimplifiedUnitAnalysis defaults while preserving unitAnalysis compatibility#2043Conversation
Agent-Logs-Url: https://github.com/goblint/analyzer/sessions/04ac7a0b-b764-4f8a-b7c0-f96bcb75fc44 Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
SimplifiedSpec registration/interface
Agent-Logs-Url: https://github.com/goblint/analyzer/sessions/4163237d-68cb-41e2-ac46-468ac7eb3df5 Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
SimplifiedSpec registration/interfaceSimplifiedSpec while preserving unitAnalysis compatibility
|
@copilot: Modules missing from src/goblint_lib.ml: {'SimplifiedUnitAnalysis'} |
Agent-Logs-Url: https://github.com/goblint/analyzer/sessions/51579562-8e2a-4d5d-af08-de4f4244ecb5 Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
michael-schwarz
left a comment
There was a problem hiding this comment.
The SimplifiedUnitAnalysis should be used to reduce boilerplate in the other analyses.
This is already addressed in commit |
|
@copilot: The tutorial analysis should, where feasible, not define everything from scratch but build on the |
|
Should be squashed once the time to merge comes. |
|
If there's anything blocking this, let me know @sim642! |
|
Closed by mistake |
|
I'll try to have a closer look at this next week. I quickly noticed one thing: this changes a bunch of unused arguments to Ideally, some of the transfer function arguments might be better with labels to make their order less sensitive, but now is probably not the best time to try such change anyway. Especially because this might introduce unnecessary and annoying conflicts with various architectural additions (e.g. backward constraints and forward-propagating constraints changes). |
|
@copilot: don't change unused arguments to |
Fixed in the latest commit: all |
This PR ports tutorial analyses to the
SimplifiedSpecinterface while preserving compatibility for analyses that depend onUnitAnalysis.Spec.In addition, based on review feedback, it introduces reusable default transfer-function behavior in
SimplifiedUnitAnalysisand applies it where feasible to reduce boilerplate in tutorial analyses.What changed
unitAnalysis.mlin its originalMCPSpec-compatible form.simplifiedUnitAnalysis.ml) and exported it fromsrc/goblint_lib.ml.SimplifiedUnitAnalysis.DefaultSpecfor shared no-op/default simplified transfer functions.SimplifiedUnitAnalysis.DefaultSpecwhere feasible:src/analyses/tutorials/signs.mlsrc/analyses/tutorials/solution/signsSol.mlsrc/analyses/tutorials/solution/signsExtendSol.mlcontext,threadenter).Validation
make nativein this environment (blocked by missingopam/dune).