[Soot-list] summary of 2013 SOAP workshop discussions

Patrick Lam plam at sable.mcgill.ca
Tue Jul 2 14:36:04 EDT 2013


Hi all,

Last week after PLDI, 19 members of the Soot community gathered at the
SOAP workshop in Seattle. We had an excellent invited talk by Manu
Sridharan about statically analyzing code which uses reflection
(http://researcher.watson.ibm.com/researcher/files/us-msridhar/SOAP2013Invited.pdf)
and six contributed talks which discussed applications and extensions
to the Soot framework.

I've summarized the discussion below.

** Organization of future SOAP workshops **

The main objective of SOAP is to discuss implementation of
analyses. SOAP could certainly include papers that are not at all
related to Soot, given interested authors.

   * Due to SOAP's objective, co-locating it with PLDI looks like a
     good fit. PLDI'14 will be held in Edinburgh, Scotland.
   * We need volunteers to organize the next workshop and be on its
     program committee. We wouldn't mind doing it again, but to obtain
     ACM sponsorship the workshop's PC should exhibit diversity over
     time as well as geographic diversity.
   * We are compiling detailed instructions about organizing
     workshop. You will not be left by yourself to figure it out.
   * The SOAP workshop does provide benefits to Soot and its
     community. For example, as the result of SOAP'12, Soot has been
     moved to github. It motivated a number of authors to
     "finilize" their implementations and make them available to the
     public.
   * Almost all of us got/getting MS/PhD and publications out of
     Soot. So remember to pay it back and/or forward by serving Soot and
     its community :-)
   * If you want to participate please let us (Elena, Patrick) know.
      Elena Sherman <elenasherman at boisestate.edu>
      Patrick Lam <p.lam at ece.uwaterloo.ca

** Improving Soot's Accessibility (How-Do-I-Use-Soot?) **

(A) I looked at the webpage and it is showing its age.
There was some discussion at the workshop about hosting
the main Soot webpage on github. Thoughts?

(B) With Soot's use of github, it is now easier to maintain separate
Soot branches and to push contributions to the main branch (we merge
patches quickly!)
  * Soot extensions, though, are still hard to list; we should
    at least keep a page with links to extension project pages
    and descriptions thereof.

(C) Documentation is always difficult. There are some resources,
but they can be overwhelming to the new user. There was discussion
of wiki-style documentation, but I'm not convinced that it would help;
wikis are no panacea. Making it easy to submit documentation patches
could help.

Some specific points:
  * A list of Soot features/nonfeatures would be useful to those who
    are trying to figure out whether Soot would work for them or not.
  * IdentityStmt is confusing to many new Soot users, and a blog
    post would help a lot.
  * New users are sometimes confused about how to send questions
    to the Soot community, so there should be an explicit statement
    about that somewhere.

** Soot development requests **
  * Update links to PLDI03 tutorial: done
  * Probably overdue for a minor release.
  * Write a Jimple verification pass that checks that
     IdentityStmts are the first things in a method.
  * Write a Jimple verification pass that checks for
     accesses to uninitialized fields in constructors.
  * Jimple/source code links are popular as always;
     we should use the scope attribute with use-original-names.
  * Improve Soot's testability.
  * There was a request to discuss environment generators/modular
     analyses (method summaries). How can we analyze one class at a
     time?  [confused:] Can we create Jimple without creating all
     SootMethods initially/can we lazily load SootMethods?
  * Java 7 question: at the bytecode level, the only change was
    invokedynamic, which Soot supports; at the source code level,
    there are a couple of new constructs, which would be a good
    student project.

** Miscellaneous **

SOAP should have better publicity.

** Discussion topics that we didn't get to **

  * how to do instrumentation and monitoring using Soot;
  * BDDs and sets



More information about the Soot-list mailing list