[Soot-list] Singleton pattern in Soot

Keith Lea keith at cs.oswego.edu
Sun May 8 01:18:25 EDT 2005


I think the Singleton pattern used in Soot is a large hindrance to 
developers who want to use Soot as a class library rather than as a 
command-line tool. Soot's classes are generally not thread-safe, so the 
singleton design prevents efficient implementations of many potential 
uses of Soot (such as parsing code as an editor inspection in an IDE, 
which is done with multiple threads by IDE's such as IntelliJ IDEA).

I would like to contribute a large change to Soot - modifying the 
architecture to remove all dependency on singletons. However, it seems 
that these changes might break a great deal of code which currently uses 
Soot. I would attempt to preserve backwards compatibility wherever 
possible, but I would not sacrifice good design for backwards compatibility.

I wonder if I made these changes, if they would be accepted into the 
Soot codebase. If not, I probably won't make the changes, as I don't 
have the knowledge or time to maintain and update a separate branch of 
the project.

Thanks,
-Keith


More information about the Soot-list mailing list