FlowDroid icon indicating copy to clipboard operation
FlowDroid copied to clipboard

Can someone help explain the meaning of the label, $i, and $r in the output?

Open Qian-Han opened this issue 4 years ago • 2 comments

Hello, I have got the output of FlowDroid, but I am still wondering what's the exact meaning for the label, $i, and $r in the output. Could someone please help me explain it? Thanks a lot!

Some code snippets are attached as follows:

######################################################################

    $r0 := @parameter0: java.lang.String[];

    $i0 = 0;

    $r1 = new com.extend.battery.BatteryApplication;

    specialinvoke $r1.<com.extend.battery.BatteryApplication: void <init>()>();

    <il.ac.tau.MyApplicationHolder: android.app.Application application> = $r1;

 label001:
    if $i0 == 0 goto label014;

    $r2 = new com.extend.battery.UninstallerActivity;

    specialinvoke $r2.<com.extend.battery.UninstallerActivity: void <init>()>();

    if $i0 == 1 goto label014;

    virtualinvoke $r2.<com.extend.battery.UninstallerActivity: void onCreate(android.os.Bundle)>(null);

 label002:
    virtualinvoke $r2.<com.extend.battery.UninstallerActivity: void onStart()>();

######################################################################

Qian-Han avatar Dec 21 '20 01:12 Qian-Han

I try to understand them, does it mean that $i stands for different choices (possibility) for user input, $r means the different method actually being called, and label means an actual series of activity?

Qian-Han avatar Dec 21 '20 01:12 Qian-Han

Those should be local variables I think. If you mean what are actually letters i and r translated to, from the looks of it I'd say integer and reference.

amohar avatar Apr 17 '21 16:04 amohar