Suppose I hope to know which method generates the data that may finally be used by the invocation of a specific api (e.g., setLoc()). In the example, activity A's onClick writes latitude and longitude, which finally constitute the location that is consumed by setLoc() in activity C's onCreate(). Therefore, activity A's onClick will be the output.
This sounds like a taint analysis (backward) but only sinks are given. I saw soot provide some IFDS examples that I can learn, I am wondering does FlowDroid provide similar examples that I can start with?
I am wondering does FlowDroid provide interfaces that I can implement to resolve other interprocedural data-flow problems?
Suppose In the following example, Activity A "writes" some data that will be finally "used" by Activity C
=====================Example======================= Activity A (set
latitude
andlongitude
fields ofloc
)Activity B (transfer
latitude
andlongitude
with an intent)Activity C (use
latitude
andlongitude
to formlocation
)===================================================
Suppose I hope to know which method generates the data that may finally be used by the invocation of a specific api (e.g.,
setLoc()
). In the example, activity A'sonClick
writeslatitude
andlongitude
, which finally constitute thelocation
that is consumed bysetLoc()
in activity C'sonCreate()
. Therefore, activity A'sonClick
will be the output.This sounds like a taint analysis (backward) but only sinks are given. I saw soot provide some IFDS examples that I can learn, I am wondering does FlowDroid provide similar examples that I can start with?