Skip to content

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

@r1pu5u

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions