[Soot-list] Sideeffectanalysis

Jochen Huck jochen.huck at student.kit.edu
Fri Mar 4 08:42:31 EST 2011


Hi,

the current implementation of the sideeffectanalysis 
(soot.jimple.toolkits.pointer.SideEffectAnalysis) is context-insensitive 
and therefore really imprecise. For

class Foo {
     int i;
     public static void main(String[] args) {
         Foo f1 = new Foo();
         Foo f2 = new Foo();
         f1.inc();
         f2.inc();
     }
     public void inc() {
         i++;
     }
}

it reports that f1.inc() and f2.inc() have the same dependencies, since 
the analysis is context-insensitive.

I would like to improve the precisson using Paddle. Which option (1cfg, 
object-sensitive) would I need, that it is possible to infer that the 
calls to inc() have no dependencies?
I will have to rewrite some methods of SideEffectAnalysis and 
SideEffectTagger. Any suggestions how difficult that would be?

Thanks,
Jochen




More information about the Soot-list mailing list