[Soot-list] use Soot to extend our analysis

Keith Lea keith at cs.oswego.edu
Fri May 13 23:25:24 EDT 2005


I thought I should reply with details to back up what I said about Soot
having problems as an application library, instead of apparently blindly
criticizing it.

My application uses Soot as a library. It's is an IDE plug-in (for
IntelliJ IDEA) which uses Soot to analyze source code in real time while
the user is typing. I had (and have) a few problems developing with Soot:

1. Memory problems
To use Soot, I had to spend a few days profiling to find all of the
memory leaks. I then had to modify Soot source itself in several places
to prevent some memory leaks which are otherwise inherent in its design.

I've been told that there's a G.reset() method which resets all of Soot
and throws away all state. I haven't tried using it, but I suspect it
has performance problems compared to my approach of only releasing
memory which is unnecessary, rather than re-initializing all of Soot. It
might not, however; you should try it.

2. Multithreading issues
You simply can't use Soot from multiple threads at once. A huge
modification of Soot would be necessary to change this. Your application
should probably have a "Soot thread" whose job is to run Soot tasks
which are enqueued by other parts of your application, and to return
results to those threads using listeners.

These two problems are the major problems I've had. I suggest using Soot
in your application but you should be prepared to spend time working
around these two issues.

-Keith

Aiwu Shi wrote:
> hi,
>     I want to bulid a tool using soot for points-to analysis. so,  I 
> will develop a customized graphical interface for our tool, which can 
> input the java code to be analyzed and output the output,according to my 
> requirement. Can I use soot as a standard API library? and import the 
> relative package and call the well-bulit methods, not need me develop 
> the points-to analysis from scratch. how to do that?
>     thanks
>     Aiwu
>     
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://www.sable.mcgill.ca/mailman/listinfo/soot-list


More information about the Soot-list mailing list