[Soot-list] pretty-printer of tagged program

Zell zell08v at orange.fr
Sat Aug 4 23:26:47 EDT 2012


Added information:

I used the print-tag options by soot's command-line, with these soot
options:

-print-tags -xml-attributes -f j -p jap.npcolorer on -src-prec java
-keep-line-number tester.Hello

 It gave me a jimple file commented by some results of the analysis as
attached below. However, I do not see how to print the analysis results
together with .java source. Any ideas? Thanks.

Zell.

    public static void main(java.lang.String[])
    {
        java.lang.String[] r0;
        java.io.PrintStream $r1;

        r0 := @parameter0;
/*10*/
/*@parameter0: java.lang.String[]: Nullness Unknown*/
/*r0: Nullness Unknown*/
/*Jimple Line Tag: 27*/
        $r1 = java.lang.System.out;
/*10*/
/*<java.lang.System: java.io.PrintStream out>: Nullness Unknown*/
/*$r1: Nullness Unknown*/
/*Jimple Line Tag: 32*/
        $r1.println("Hello");
/*10*/
/*$r1: Nullness Unknown*/
/*"Hello": NonNull*/
/*Jimple Line Tag: 37*/
        return;
/*11*/
/*Jimple Line Tag: 42*/
    }


On Sat, Aug 4, 2012 at 10:37 AM, Zell <zell08v at orange.fr> wrote:

> Dear all,
>
> I would like to know whether there are easy ways to pretty-print the
> dataflow results retrieved from SOOT. I know something about tags in SOOT.
> Is there some existing code that eases pretty-printing of  programs (source
> or Shimple etc) that contains tagged information?
>
> Another question, I find the 'Forwardbranchedanalysis' abstract class has
> a confusing  'flowthrough' signature:
>
> protected void flowThrough(A in, Unit s, List<A> fallOut,
>             List<A> branchOuts) {
>
> I feel confused about 'fallOut' and 'BranchOuts'. These are standard terms
> but here  why the latter (branchouts) is in pluriel while the former
> (fallout)  is in single, whereas both are of type List<A>?
>
> More concretely,  for a program of the following form,
>
> B0;
> if (foo) then B1;
> else if (bar) then B2;
> else  {B3; B4;B5}
> B6
>
> could you tell me the fallOut and BranchOuts after B0, (foo), B3, and B5,
> respectively? In particular, what are the fallout and branchout for a
> linear execution, like B3; B4 above? I was trying to understand the
> 'fallout' and 'branchedout'  as standard terms, but apparently my
> branchedflowAnalysis that I am working with behaves strangely these days...
>
> Thank you for your ideas.
> Zell.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120805/bb56f8b8/attachment.html 


More information about the Soot-list mailing list