Warn when ana.opt.hashcons is disabled but implicitly overridden, fail for Apron#1921
Open
Warn when ana.opt.hashcons is disabled but implicitly overridden, fail for Apron#1921
Conversation
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add warning for conflicting configuration settings
Warn when ana.opt.hashcons is disabled but implicitly overridden
Jan 20, 2026
Member
|
@copilot this should be move to the general place where we check whether configs are compatible. |
Member
|
@copilot tests for this issue are not needed. |
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Contributor
Author
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Contributor
Author
Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
michael-schwarz
approved these changes
Jan 20, 2026
michael-schwarz
approved these changes
Jan 20, 2026
sim642
requested changes
Jan 21, 2026
- Add usesApron flag to MCPRegistry.spec_modules - Add optional ~usesApron parameter to register_analysis (default false) - Add any_activated_uses_apron() function to check registry - Mark Apron analyses with ~usesApron:true flag - Change warning to fail when hashcons disabled with Apron Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
Copilot
AI
changed the title
Warn when ana.opt.hashcons is disabled but implicitly overridden
Warn when ana.opt.hashcons is disabled but implicitly overridden, fail for Apron
Mar 6, 2026
Check Apron first (fail) before ARG (warn) since fail is more severe Co-authored-by: michael-schwarz <13812333+michael-schwarz@users.noreply.github.com>
michael-schwarz
approved these changes
Mar 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan: Warn when
ana.opt.hashconsis off but hashconsing is forced onana.opt.hashcons=falseis overridden whenexp.arg.enabled,witness.graphml.enabled, or Apron domain is onChanges made:
Added warnings/failures in
check_arguments()inmaingoblint.ml:ana.opt.hashconsis disabled but Apron domains are activated (checked first - Apron requires hashconsing forcompareoperation and will crash without it)ana.opt.hashconsis disabled butexp.arg.enabledis on (checked second - covers witness generation use case)Added
usesApronflag to MCPRegistry:~usesApronparameter (defaultfalse) toMCPRegistry.register_analysis()any_activated_uses_apron()function to check if any activated analysis uses ApronapronAnalysis,affineEqualityAnalysis,linearTwoVarEqualityAnalysis) with~usesApron:trueflagKept variable refactoring in control.ml for consistency:
hashcons_enabledvariable used throughout spec constructionRemoved test files per @michael-schwarz's feedback that tests are not needed
Removed
_codeql_detected_source_rootfile that was accidentally committedThe changes properly fail for the Apron case (which would crash) and warn for the ARG/witness case where hashconsing is implicitly enabled.
Original prompt
ana.opt.hashconsis off, butwitness.graphml.enabledorexp.arg.enabledare on or an Apron domain is on #1657💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.