<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    Yes, I use FlowDroid.<br>
    The size of the apk is irrilevant, what matters is the size of the
    classes.dex<br>
    <br>
    With my configuration running on an Intel(R) Core(TM) i7-4810MQ CPU
    @ 2.80GHz:<br>
    small, 2,3MB, 30 sec<br>
    medium, 6,8MB,  1 minute<br>
    big, 11MB (whatsapp), 3 minutes<br>
    <br>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    With the default configuration I've never seen it halting [but I
    can't say that it never halts, dear Turing :)] with the medium and
    the big dex, also after 7 hours.<br>
    <br>
    Keep in touch!<br>
    Simone<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/04/2016 19:11, Denis Bogdanas
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAD=3RU2BH-7aJCp=3saOzAmAFBx5qD3uq=UpEd0_1SKSwtW0zQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>
              <div>Interesting,<br>
              </div>
              I'm assuming you use FlowDroid. I'm also looking into good
              options for performance.<br>
              <br>
            </div>
            What size is the apk and how much faster are these settings
            compared to defaults?<br>
            <br>
          </div>
          thanks,<br>
        </div>
        Denis<br>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 6 April 2016 at 06:05, Simone Aonzo
          <span dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:simone.aonzo@gmail.com" target="_blank">simone.aonzo@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">This is
            the way I get a call graph in a reasonable time... if
            someone<br>
            has better ideas: share!<br>
            <br>
                    soot.G.reset();<br>
                    SetupApplication setupApplication = new<br>
            SetupApplication(androidJar.toString(), apk.toString());<br>
                   
            setupApplication.getConfig().setFlowSensitiveAliasing(false);<br>
            // --aliasflowins<br>
                    setupApplication.getConfig().setAccessPathLength(1);
            // --aplength n<br>
                   
            setupApplication.getConfig().setEnableStaticFieldTracking(false);<br>
            // --nostatic<br>
                   
            setupApplication.getConfig().setEnableCallbacks(false);//
            --nocallbacks<br>
                   
setupApplication.getConfig().setPathBuilder(DefaultPathBuilderFactory.PathBuilder.ContextSensitive);//<br>
            --pathalgo<br>
                   
            setupApplication.getConfig().setComputeResultPaths(false);
            // --nopaths<br>
                   
            setupApplication.getConfig().setEnableExceptionTracking(false);<br>
            // --noexceptions<br>
                   
setupApplication.calculateSourcesSinksEntrypoints(sourcesAndSinks.toString());<br>
            <br>
                    Options.v().set_src_prec(Options.src_prec_apk);<br>
                   
Options.v().set_soot_classpath("/usr/lib/jvm/java-8-oracle/jre/lib/rt.jar:/usr/lib/jvm/java-8-oracle/jre/lib/jce.jar:.");<br>
                   
            Options.v().set_process_dir(Collections.singletonList(apk.toString()));<br>
                    Options.v().set_android_jars(androidJar.toString());<br>
            <br>
                    List&lt;String&gt; excludeList = new
            LinkedList&lt;String&gt;();<br>
                    excludeList.add("java.");<br>
                    excludeList.add("sun.misc.");<br>
                    excludeList.add("android.");<br>
                    excludeList.add("org.apache.");<br>
                    excludeList.add("soot.");<br>
                    excludeList.add("javax.servlet.");<br>
            <br>
                    Options.v().set_exclude(excludeList);<br>
                    Options.v().set_no_bodies_for_excluded(true);<br>
                   
            Options.v().set_output_format(Options.output_format_none);<br>
                    Options.v().set_allow_phantom_refs(true);<br>
                    Options.v().set_whole_program(true);<br>
                    Options.v().setPhaseOption("cg.spark", "on");<br>
                    Options.v().setPhaseOption("cg",
            "trim-clinit:false");<br>
                    SootMethod dummyMain =<br>
            setupApplication.getEntryPointCreator().createDummyMain();<br>
                   
            Options.v().set_main_class(dummyMain.getSignature());<br>
                   
            Scene.v().setEntryPoints(Collections.singletonList(dummyMain));<br>
                    PackManager.v().runPacks();<br>
                    CallGraph callGraph = Scene.v().getCallGraph();<br>
            <br>
            2016-04-04 12:37 GMT+02:00 Enzo Lucky &lt;<a
              moz-do-not-send="true" href="mailto:luckenzo24@yahoo.com"><a class="moz-txt-link-abbreviated" href="mailto:luckenzo24@yahoo.com">luckenzo24@yahoo.com</a></a>&gt;:<br>
            &gt; Hi,<br>
            &gt;<br>
            &gt; I am using Soot to generate call graph of some Android
            apps, and I find Soot<br>
            &gt; take more than a day to generate the call graph for
            some apps. Can I do<br>
            &gt; anything other than the suggestions in the FlowDroid
            homepage<br>
            &gt; (<a moz-do-not-send="true"
href="https://github.com/secure-software-engineering/soot-infoflow-android/wiki#improving-performance"
              rel="noreferrer" target="_blank">https://github.com/secure-software-engineering/soot-infoflow-android/wiki#improving-performance</a>)?<br>
            &gt; I want a precise call graph and hence, I didn't use any
            of the options.<br>
            &gt; Also, is the time normal or am I doing something wrong?
            Please find attached<br>
            &gt; my dummy main class.<br>
            &gt;<br>
            &gt; Thanks,<br>
            &gt; Enzo<br>
            &gt;<br>
            &gt; _______________________________________________<br>
            &gt; Soot-list mailing list<br>
            &gt; <a moz-do-not-send="true"
              href="mailto:Soot-list@CS.McGill.CA">Soot-list@CS.McGill.CA</a><br>
            &gt; <a moz-do-not-send="true"
              href="https://mailman.CS.McGill.CA/mailman/listinfo/soot-list"
              rel="noreferrer" target="_blank">https://mailman.CS.McGill.CA/mailman/listinfo/soot-list</a><br>
            &gt;<br>
            _______________________________________________<br>
            Soot-list mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:Soot-list@CS.McGill.CA">Soot-list@CS.McGill.CA</a><br>
            <a moz-do-not-send="true"
              href="https://mailman.CS.McGill.CA/mailman/listinfo/soot-list"
              rel="noreferrer" target="_blank">https://mailman.CS.McGill.CA/mailman/listinfo/soot-list</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div class="gmail_signature">
          <div dir="ltr">Denis<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>