AppThreat / atom

Atom is a novel intermediate representation for applications and a standalone tool that is powered by chen.
https://appthreat.com
Apache License 2.0
52 stars 2 forks source link

infinitely long scan #155

Open almaz045 opened 3 months ago

almaz045 commented 3 months ago

I tried run "atom reachables -o app.atom -s reachables.json -l c ." on tarantool repo to test C lang. Then it's printed: "Exception in thread "" java.lang.OutOfMemoryError: Java heap space" Then I tried to run atom with next command: /atom/bin/atom -J-Xmx16g reachables -o app.atom -s reachables.json -l c .

But it scans infinitely, I waited for couple hours.

Then tried like this: atom/bin/atom -J-Xmx16g reachables -o app.atom -s reachable.json -l c . -J-XX:+UseG1GC -J-XX:+UseStringDeduplication

And it scans infinitely too

prabhu commented 3 months ago

We have known performance issues with c/c++ and java with > 30K loc.

prabhu commented 2 months ago

Completes within a minute for me with the default. Do you have the latest atom?

/mnt/work/AppThreat/atom/atom.sh reachables -l c -o app.atom .
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Djna.library.path=/home/prabhu/miniconda3/envs/chenpy-dev/lib
Generating data-flow dependencies from atom. Please wait ...
Slicing the atom for reachables. This might take a few minutes ...
Falling back to using reverse reachability to determine flows. Max DDG depth used: 7
Slices have been successfully written to /mnt/work/sandbox/tarantool/slices.json