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

Some questions #36

Open
tsuberim opened this issue Jan 7, 2024 · 0 comments
Open

Some questions #36

tsuberim opened this issue Jan 7, 2024 · 0 comments

Comments

@tsuberim
Copy link

tsuberim commented Jan 7, 2024

Hi Johannas! Hope you are doing well.

My name is Matan. I read your excellent Boomerang paper (over and over again..) after also watching the great DECA I/II course by prof. Bodden (and also reading the SPDS paper). I'm trying to reproduce this paper by re-implement Boomerang for Java in Golang.
I also looked at the code for the Java implementation of Boomerang by your group, but unfortunately I find it impenetrable. This is one of the reasons I want to re-implement it (understand it by building it)

I have a few open questions that I'm still not clear about and would greatly appreciate some clarification.

  1. Is the client-driven context mechanism also used within subqueries?

for example, in figure 1. when performing a forward query starting from context1 at the allocation at line #4 asking which access paths at foo point to it; we encounter a field-write POI at a.f = s this should trigger an "AllAliases" query at this point which should only look at context1.
How is this information represented and passed to the subquery? Using the same mechanism described at "4.2 Client-Driven Context-Resolution"?

  1. How can the idea about call/return POIs be implemented using SPDS instead of the access graph formulation (i.e. when we have a field-pds & automaton instead of an access graph)? In the access graph formulation we recursively query for all prefixes - How is this translated into the SPDS formulation?

  2. Can dynamic fields and calls be supported as more POIs? by dynamic fields I mean x[f] where f is a variable (e.g. hashmaps or arrays), by dynamic calls I mean f(..) where f is variable (e.g. lambdas). My thought is that we can set the domain of fields to be all allocation sites and each statement involving dynamic fields as a POI which requires a PointsTo query to obtain the set of possible fields for this statement.

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

No branches or pull requests

1 participant