[Soot-list] Error in Shimple

Patrick Lam plam at sable.mcgill.ca
Wed Jun 26 10:35:11 EDT 2013


Navindra Umanee. I think he's working at Microsoft these days, but I'm 
not sure. Er, he's my Facebook friend...

pat

On 06/26/13 08:36, Marc-André Laverdière-Papineau wrote:
> Hi Ishan,
>
> Thanks for investigating the bugs. With your help, we may be able to get
> a solid SSA implementation :)
>
> Eric,
>
> Do you know who has worked on the Shimple component in the past? Maybe
> we could get their help again?
>
> Marc-André Laverdière-Papineau
> Doctorant - PhD Candidate
>
> On 24/06/13 08:10 AM, Ishan Khot wrote:
>> Hello Soot List,
>> I tried to convert the following java code to extended shimple(SSI) and
>> the program goes into an infinite loop.
>>
>> public class ShimpleTest {
>>
>> /**
>> * @param args
>> */
>> public static void main(String[] args) {
>> // TODO Auto-generated method stub
>>
>>     int x = 100;
>>     boolean doIt = true;
>>
>>     if(doIt){
>>         if(x<  200){
>>             x = 100;
>>         }
>>
>>         else{
>>             x = 200;
>>         }
>>     }
>>
>>     System.out.println(x);
>> }
>>
>> }
>>
>> The options I used to run soot are :
>> -cp . -pp -process-dir bin -d SootOutput -f shimple -p shimple extended:true
>>
>> I also did a little debugging on soot and found that the following piece
>> of code is responsible for causing the infinite loop in the class
>> ShimpleBodyBuilder
>>
>>   public void transform()
>>      {
>>          phi.insertTrivialPhiNodes();
>>
>>          boolean change = false;
>>          if(options.extended()){
>>              change = pi.insertTrivialPiNodes();
>>
>>              while(change){
>>                  if(phi.insertTrivialPhiNodes()){
>>                      change = pi.insertTrivialPiNodes();
>>                  }
>>                  else{
>>                      break;
>>                  }
>>              }
>>          }
>>      .....
>>
>> The above while loop goes infinite with change = true and the
>> phi.insertTrivialPhiNodes() method keeps on inserting the same phi node
>> statement infinite times into a particular cfg block.
>> It would be great if someone could help me in removing this bug.
>>
>> Thanks
>>
>>
>>
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at sable.mcgill.ca
>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list



More information about the Soot-list mailing list