You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 16, 2020. It is now read-only.
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
No description provided.
The text was updated successfully, but these errors were encountered: