[Soot-list] ForwardBranchedFlowAnalysis's 'flowThrough'

Patrick Lam p.lam at ece.uwaterloo.ca
Wed Aug 22 16:13:11 EDT 2012


Someone recently asked about that. I don't remember the precise answer 
right now, but we looked at the source code of 
ForwardBranchedFlowAnalysis and the appropriate Stmt classes to 
determine the answer. That's always a good way to find out.

If I recall correctly, fallOut has between 0 (for a Goto or Throw 
statement) and 1 members, while branchOuts has any number of members, 
from 0 in the common case, up to the number of switch targets that a 
statement may have.

I do not have any examples, but there also might be some in the 
codebase. It's worthwhile to figure out how to search for classes 
extending ForwardBranchedFlowAnalysis.

pat


On 08/22/2012 09:12 PM, Zell wrote:
> Hello,
>
> I feel confused about the ForwardBranchedFlowAnalysis's 'flowThrough'
> method:
>
>
>       flowThrough
>
> protected abstract void*flowThrough*(A  <http://www.sable.mcgill.ca/soot/doc/soot/toolkits/scalar/BranchedFlowAnalysis.html>  in,
>                                      Unit  <http://www.sable.mcgill.ca/soot/doc/soot/Unit.html>  s,
>                                      List  <http://java.sun.com/j2se/1.6.0/docs/api/java/util/List.html?is-external=true><A  <http://www.sable.mcgill.ca/soot/doc/soot/toolkits/scalar/BranchedFlowAnalysis.html>>  fallOut,
>                                      List  <http://java.sun.com/j2se/1.6.0/docs/api/java/util/List.html?is-external=true><A  <http://www.sable.mcgill.ca/soot/doc/soot/toolkits/scalar/BranchedFlowAnalysis.html>>  branchOuts)
>
>
> What are the fallOut and branchOuts parameters?  I have not yet
> encountered cases with more than one 'fall' branches, so I do not see
> why 'fallout' is of 'List<A>' type. This point is confusing because the
> API uses single form for 'fallout' parameter, but pluriel for
> 'branchouts' parameter, while both of them are of List<A> types.
>
> Do you have examples that show the using of
> ForwardBranchedFlowAnalysis's flowThrough method ? Many thanks.
>
> Zell.
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list



More information about the Soot-list mailing list