-
Notifications
You must be signed in to change notification settings - Fork 4
Variable not defined before using it as a call base #1
Copy link
Copy link
Open
Description
Hello,
I'm using COAL on Android applications. Before launching it, I use FlowDroid to get call graph.
On many apps, I encounter the following issue :
java.lang.IndexOutOfBoundsException: Index: 0
at java.base/java.util.Collections$EmptyList.get(Collections.java:4483)
at edu.psu.cse.siis.coal.arguments.MySmartLocalDefs.<init>(ConstraintCollector.java:247)
at edu.psu.cse.siis.coal.arguments.CCVisitor.<init>(ConstraintCollector.java:319)
at edu.psu.cse.siis.coal.arguments.ConstraintCollector.handleMethod(ConstraintCollector.java:132)
at edu.psu.cse.siis.coal.arguments.ConstraintCollector.globalCollection(ConstraintCollector.java:172)
at edu.psu.cse.siis.coal.arguments.StringValueAnalysis.initialize(StringValueAnalysis.java:50)
at edu.psu.cse.siis.coal.PropagationSceneTransformer.internalTransform(PropagationSceneTransformer.java:63)
at soot.SceneTransformer.transform(SceneTransformer.java:36)
at soot.Transform.apply(Transform.java:105)
at soot.ScenePack.internalApply(ScenePack.java:37)
at soot.Pack.apply(Pack.java:118)
Here is a snippet to reproduce it :
public class Test1 extends Activity {
public void printString(String s) {
StringBuilder sb = new StringBuilder();
sb.append(s);
sb = new StringBuilder().append(sb).append(s);
System.out.print(sb.toString());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
printString("abc");
}
}
Best,
Séverine
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels