[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