Closed johspaeth closed 3 years ago
Unable to reproduce, however I observed an error in the test cases.
In the CustomBackwardFlowFunctions
, only callToReturn
was used to kill data-flow at System.exit()
. However, also normalFlow
may occur on System.exit
. normalFlow
is invoked, whenever a data-flow fact reaches a call site that does not use the fact. Then the call site is treated as normalFlow
(logic differs from IFDS).
Keep that in mind, when implementing custom FlowFunctions.
Assume the BackwardFlowFunctions are overwritten to kill any data-flow fact for any call to System.exit. Then in the code below
If triggering a query for
i
just before thequeryFor(i)
statement, no kill occurs and the backward query incorrectly reachesi = 0
.