Skip to content

[Draft] ModifierTrait#1008

Open
xeren wants to merge 3 commits intodevelopmentfrom
alias-modifiertrait
Open

[Draft] ModifierTrait#1008
xeren wants to merge 3 commits intodevelopmentfrom
alias-modifiertrait

Conversation

@xeren
Copy link
Collaborator

@xeren xeren commented Mar 13, 2026

Adds more control over the used lattice in InclusionBasedPointerAnalysis. More implementations can be added later.

  • --program.analysis.alias=EXPERIMENTAL_FIELD_INSENSITIVE uses the singleton lattice $\lbrace\mathbb Z\rbrace$ implemented in ModifierTrait.VoidTrait. It lets the analysis be truely field-insensitive. It is not generally, but mainly, less precise than FIELD_INSENSITIVE implemented in AndersenAliasAnalysis.
  • --program.analysis.alias=EXPERIMENTAL_FIELD_SENSITIVE uses the lattice $\mathbb F(\mathbb Z)+\lbrace\mathbb Z\rbrace$ of finite sets. It is implemented in ModifierTrait.Offsets and comparable with FIELD_INSENSITIVE and FIELD_SENSITIVE.
  • --program.analysis.alias=EXPERIMENTAL_LINEAR_1D uses $\lbrace n+\mathbb Zs\mid n,s\in\mathbb Z\rbrace$ in ModifierTrait.SdLinear.
  • --program.analysis.alias=FULL remains using $\lbrace n+\sum_{i=0}^k\mathbb Zs_k\mid k\in\mathbb N,n,s_1,\ldots,s_k\in\mathbb Z\rbrace$ which has moved to ModifierTrait.MdLinear.

@ThomasHaas
Copy link
Collaborator

Interesting changes, but why the changes to the IntervalAnalysis? It was a deliberate choice to make it Optional.
Apart from the fact that those changes shouldn't be part of this PR in the first place :)

@xeren
Copy link
Collaborator Author

xeren commented Mar 13, 2026

You are right, this had nothing to do there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants