[Soot-list] Clarification on Spark's Behavior

Hamid A. Toussi hamid2c at gmail.com
Fri May 10 12:28:06 EDT 2013


Hi Marc-André,

> I remembered that Spark supports VTA and RTA, but I wanted to know about
> the implementation. Is it implemented as a single pass, or is it a
> fixed-point? If so, what's the criteria for convergence?
>

These are handled by using different things as abstract objects. By
default, AllocNodes abstract allocation sites but they would abstract
type of allocations  while VTA option is enabled.

See PAG.makeAllocNode:
    public AllocNode makeAllocNode( Object newExpr, Type type, SootMethod m ) {
        if( opts.types_for_sites() || opts.vta() ) newExpr = type;
   ....

Hamid


More information about the Soot-list mailing list