Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Pointer Analysis #616

Merged
merged 36 commits into from
Apr 29, 2024
Merged
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
e86e743
Add InclusionBasedPointerAnalysis
xeren Nov 28, 2023
296ec42
Fix IntLiteral
xeren Feb 15, 2024
6f547bb
Default to InclusionBasedPointerAnalysis
xeren Feb 17, 2024
3eb1126
Default to InclusionBasedPointerAnalysis
hernan-poncedeleon Feb 20, 2024
8a51a3a
Merge remote-tracking branch 'origin/development' into alias
xeren Feb 26, 2024
bfc7ab3
Updated AnalysisTest to avoid running processing twice.
ThomasHaas Feb 28, 2024
cbc03aa
Fix InclusionBasedPointerAnalysis
xeren Feb 28, 2024
9645f54
Merge remote-tracking branch 'origin/development' into alias
xeren Mar 14, 2024
8fe039f
More fixes
xeren Mar 14, 2024
0dd4c11
InclusionBasedPointerAnalysis lazily invokes SyntacticContextAnalysis
xeren Mar 21, 2024
dfeb35e
Add option 'program.analysis.generateAliasGraph.internal'
xeren Mar 22, 2024
5059756
Merge remote-tracking branch 'origin/development' into alias
xeren Mar 22, 2024
5f3784f
Added handling of (recently added) Alloc events to InclusionBasedPoin…
ThomasHaas Mar 23, 2024
57a97d2
Merge branch 'development' into alias
ThomasHaas Mar 25, 2024
df5173d
Refactor
xeren Mar 25, 2024
b48e14c
Docs
xeren Mar 26, 2024
c6d25d8
fixup! Refactor
xeren Mar 27, 2024
bf8bc79
Rename internal graph nodes
xeren Mar 27, 2024
65fd0b5
Add precision
xeren Mar 28, 2024
28a8b30
Update Documentation
ThomasHaas Mar 28, 2024
d3a04eb
Fix exception in overlaps when alignment contains negative values.
xeren Mar 28, 2024
b29daf6
Fix missing dependency chains in integer extensions
xeren Apr 2, 2024
1c4660a
Improve precision for multiplication
xeren Apr 2, 2024
d56b30c
Split Offset into Modifier, DerivedVariable, LoadEdge and StoreEdge
xeren Apr 3, 2024
a2d7eb5
Fix algorithm communication rule
xeren Apr 3, 2024
6594353
Merge branch 'development' into alias
xeren Apr 4, 2024
f42744b
Refactor: Split IncludeEdge from DerivedVariable
xeren Apr 4, 2024
9e10122
Refactor
xeren Apr 10, 2024
523d890
Merge remote-tracking branch 'refs/remotes/origin/development' into a…
xeren Apr 23, 2024
e39312a
Refactor
xeren Apr 24, 2024
f36ae48
Fix compose
xeren Apr 26, 2024
9945fd7
Refactor addInclude(Variable,IncludeEdge)
xeren Apr 26, 2024
ba0f2e8
Merge remote-tracking branch 'refs/remotes/origin/development' into a…
xeren Apr 26, 2024
b1dfb9f
Fix multiplication
xeren Apr 29, 2024
4ad66d6
Fix non-negation unary expressions
xeren Apr 29, 2024
d3148fd
Fix non-negation unary expressions and multiplication
xeren Apr 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -842,9 +842,15 @@ yield new Result(null, null, BigInteger.ZERO,

@Override
public Result visitIntUnaryExpression(IntUnaryExpr x) {
if (x.getKind() != IntUnaryOp.MINUS) {
return null;
}
final Result result = x.getOperand().accept(this);
return result == null ? null : x.getKind() != IntUnaryOp.MINUS ? result :
new Result(null, null, result.offset.negate(), result.alignment.isEmpty() ? TOP : result.alignment);
final var alignment = new ArrayList<Integer>();
for (final Integer a : result.alignment) {
alignment.add(-Math.abs(a));
}
return new Result(null, null, result.offset.negate(), alignment);
}

@Override
Expand Down
Loading