[Soot-list] pretty-printer of tagged program

Eric Bodden eric.bodden at ec-spride.de
Sun Aug 5 13:44:06 EDT 2012


Hi Zell.

If you add a StringTag or ColorTag to a Stmt then this will show in
Eclipse with the Soot Eclipse plugin. Other than that there is no
support for .java files.

Eric

On 5 August 2012 05:26, Zell <zell08v at orange.fr> wrote:
> 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.
>>
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Eric Bodden, Ph.D., http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt


More information about the Soot-list mailing list