Skip to content

Is there any CLI option to exclude packages from analysis? #861

Description

@r1pu5u

Hi FlowDroid team,

I’m currently analyzing a large Android application (Kotlin + Jetpack Compose) and I’m running into severe performance and memory issues. The analysis appears to fully process framework and third-party libraries such as androidx, kotlin, com.google, and other large SDKs.

I’m wondering whether there is any way to exclude packages via the CLI when using soot-infoflow-cmd.

This is the command I’m currently using:

java -Xmx13g -jar soot-infoflow-cmd/target/soot-infoflow-cmd-jar-with-dependencies.jar \
  -a app.apk \
  -p ~/Android/Sdk/platforms \
  -s DeeplinkWebview.txt \
  -cg CHA \
  -tw NONE \
  -aa NONE \
  -ds FLOWINSENSITIVE \
  -nc \
  -ns \
  -l NONE

Despite disabling callbacks, static tracking, and using a flow-insensitive solver, memory usage still grows very large. Below is a shortened excerpt of the output:

[Low memory monitor] INFO soot.jimple.infoflow.memory.MemoryWarningSystem -
Triggering memory warning at 12621 MB (13958 MB max, 12566 in watched memory pool)...
...
[Low memory monitor] WARN soot.jimple.infoflow.memory.FlowDroidMemoryWatcher -
Running out of memory, solvers terminated
...
[main] INFO soot.jimple.infoflow.android.SetupApplication -
Data flow solver took 1158 seconds. Maximum memory consumption: 12674 MB
[main] INFO soot.jimple.infoflow.android.SetupApplication - Found 2 leaks from 2 sources

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions