Skip to content
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.

Blinky Statik: Add bytecode offset to Soot Units #27

Open
VijayKrishna opened this issue Oct 6, 2016 · 0 comments
Open

Blinky Statik: Add bytecode offset to Soot Units #27

VijayKrishna opened this issue Oct 6, 2016 · 0 comments
Assignees
Projects

Comments

@VijayKrishna
Copy link
Member

No description provided.

@VijayKrishna VijayKrishna self-assigned this Oct 6, 2016
VijayKrishna added a commit that referenced this issue Oct 6, 2016
What: Blinky Statik: ICFG: Missing edges bw. call site and method

Details:
This was a multi-faceted issue:
1. The edges from the call-site to the method's first line were missing.
2. The edges from the method's return statement, particulaly for void
returns to the method's call site was missing.

Reasons:
1. For the first issue: the call-site-to-method edges were missing
because the first Jimple statement in a SootMethod's body did not have
a source code line number and so the Source ICFG would ignore such
nodes and any related edges.
2. For the second issue: the labels being created for Soot-based Units
that were also to be used as the Units' identifiers in the ICFG were
based on the Unit's string repr. This created conflicts because two
different Soot Units that represent two different instructions can
have the same string repr, eg. two void returns for two different
methods will both have the string `return` as their string repr.

Fixes:
1. For the first issue: we are now picking up the first Unit in a
SootMethod with an actual, valid Java source line number. This ensures
that there are no Units with an invalid source line number in the
Jimple based ICFG.
2. For the second issue: we are now using a Unit's source line number,
string repr(esentation) and the Unit's method's string repr. This should
reliably provide unique labels for Units. It would be better to use the
bytecode offset for such labels but that is not part of this fix and is
tracked by issue #27
@VijayKrishna VijayKrishna reopened this Oct 28, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Development

No branches or pull requests

1 participant