[Soot-list] summary of 2013 SOAP workshop discussions

Bodden, Eric eric.bodden at sit.fraunhofer.de
Thu Jul 4 12:31:47 EDT 2013


Hi all.

Thanks for the nice summary Patrick! Too bad I could not attend… About the points you raised:

> (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?

I would very much support this move. In fact I already though of hiring a student assistant to take care of this and to also help polish the build and release process and its documentation. Does that sound like a good plan?

> (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.

Right. Github does show forks of Soot but they come without any deeper semantics. I think a list would be great. Maybe we should have a brief intro on how to extend Soot, and how to contribute back and/or list extensions on this page.

> (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.

One could use the Markdown language that Github supports (the one that also makes up the README). That would allow users to easily update it through pull requests.

> 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.

I like all of those points. Any volunteers?

> ** Soot development requests **
>  * Update links to PLDI03 tutorial: done
>  * Probably overdue for a minor release.

I would volunteer for that some time this summer, assuming that others help fixing open bugs.

>  * Write a Jimple verification pass that checks that
>     IdentityStmts are the first things in a method.

I thought we had done that!?

>  * 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.

What do you mean with "scope attribute"?

I was wondering whether we should add a simple getLine() method or so to Unit, which would automatically find he right tags etc. Does that sound like a good idea?

>  * 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?

That would be great indeed.

>  * 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.

Right. We would only need to bind to the new JastAdd version, which already supports those features in general but does not yet convert them to Jimple AFAIK. It might be simpler than we think.

> ** Miscellaneous **
> 
> SOAP should have better publicity.
> 
> ** Discussion topics that we didn't get to **
> 
>  * how to do instrumentation and monitoring using Soot;

We will have an RV tutorial on that! Please attend! (There will be a paper version, too.)

>  * BDDs and sets

?

Cheers,
Eric


More information about the Soot-list mailing list