[Soot-list] Method's exit-points

Vasco Pessanha coreanu_ at hotmail.com
Mon Jul 25 20:16:02 EDT 2011


Hello!
I'm developing an extension to Soot that uses an inter-procedural analysis to detect dataraces (concurrent errors).
Since I am trying to extract every accesses to variables inside each method, in the end of it I merge the lattices of every method's exit-points:

public Lattice getFlowAtEnd() {
        Lattice res = newInitialFlow();
        // merge the flowsets of all the method's exit-points
        List<Unit> tails = this.graph.getTails();
        for (Unit unit : tails) {
            Lattice sep1 = getFlowAfter(unit);
            //res = res union sep1
        }
        return res;
    }

However, I noticed that, if I have a method like the method run() from a Thread that performs something inside a while(true), the soot says that there is no exit point of this method (that is true) and, therefore, my lattice in the end is empty.

Since I want the accesses in the method, is there a way to disable this "optimization" of putting no exit-point or do you see any possible solutions for this?

Always thankful for you comments and helps,

Best Regards,
Vasco Pessanha
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20110726/245d3c62/attachment.html 


More information about the Soot-list mailing list