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

[BUG] canProcess and tracksIdentifier methods should check each type one by one without relying on getDynamicTypemethod #187

Closed
VincenzoArceri opened this issue Feb 10, 2022 · 0 comments · Fixed by #193
Assignees
Labels
⁉ priority:p2 Priority planning - level 2 🎊 resolution:resolved Bug or feature resolved - might not have been merged to master yet 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🐛 type:bug Something isn't working
Milestone

Comments

@VincenzoArceri
Copy link
Collaborator

VincenzoArceri commented Feb 10, 2022

Description
canProcess and tracksIdentifier methods should check each type one by one without relying on getDynamicTypemethod for deciding whether a certain identifier or expression can be tracked or processed by a domain. Let's consider the canProcess method of the BaseNonRelationalValueDomain class:

public boolean canProcess(SymbolicExpression expression) {
	return !expression.getDynamicType().isPointerType() && !expression.getDynamicType().isInMemoryType();
}

If the runtime types of expression are two different pointer types, canProcess method returns true, while it should return false

@VincenzoArceri VincenzoArceri added the 🐛 type:bug Something isn't working label Feb 10, 2022
@VincenzoArceri VincenzoArceri added this to the 0.1b5 milestone Feb 10, 2022
@lucaneg lucaneg added ⁉ priority:p2 Priority planning - level 2 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms labels Feb 10, 2022
@lucaneg lucaneg added the 🎊 resolution:resolved Bug or feature resolved - might not have been merged to master yet label Feb 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⁉ priority:p2 Priority planning - level 2 🎊 resolution:resolved Bug or feature resolved - might not have been merged to master yet 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🐛 type:bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants