[Soot-list] use-original-names bug

Patrick Lam plam at sable.mcgill.ca
Mon Aug 6 14:34:49 EDT 2012


On 08/06/2012 02:00 PM, Phil Pratt-Szeliga wrote:
> Hello,
>
> I have come across the following bug in use-original-names and would
> like to ask how I should fix it.
>
> bug:
>
> In the local name table there exists (for instance) the following two entries.
>
> name_index: 132 (i$) descriptor_index: 131 (Integer)
> name_index: 132 (i$) descriptor_index: 136 (java.util.Iterator)
>
> Right now the current behavior in soot for this test case is to make
> the local variable i$ of type java.util.Iterator. Things crash when
> trying to assign 0 to i$.
>
> possible solutions:
> 1) rename the local variables in the local name table if there is a
> duplicate name_index with different descriptor values.
> 2) look into soot.toolkits.scalar.LocalSplitter and
> soot.jimple.toolkits.base.Aggregator to see if I can make a fix there.

Thanks for looking into this bug. It's been a problem for a long time 
and people will greatly appreciate a fix to it.

Solution (1) is at the bytecode munging level on input, right? So when 
we manage to get rid of Coffi, that fix would no longer work, and we'd 
still have the problem, right? If what I said is correct, then (2) 
should be a much better solution.

pat




More information about the Soot-list mailing list