FlowDroid icon indicating copy to clipboard operation
FlowDroid copied to clipboard

PointsToAnalysis may be not available after InterproceduralConstantValuePropagator

Open nemozqqz opened this issue 5 years ago • 0 comments
trafficstars

The Problem

In InterproceduralConstantValuePropagator, Scene.v().addClass will be called in some cases to add exceptionClass when fixing some exceptions. However, the addClass method modifies class hierarchy and some previous analsysis results (e.g., activePointsToAnalysis are set to null.

So, if exceptionClass is added in optimization, previous PointsToAnalysis created by SparkTransformer will be not available to the following analysis.

Expected Behaviour

PointsToAnalysis should be available after InterproceduralConstantValuePropagator

Possisble Fix

I tried to add exceptionClass after soot is inited, and change the original addClass in InterproceduralConstantValuePropagator to getSootClass. The result looks right. Maybe re-analysis the PAG is better.

nemozqqz avatar Aug 26 '20 08:08 nemozqqz