[Soot-list] Heros error while running jCute

Dhriti Khanna dhritik at iiitd.ac.in
Sat Jan 12 00:14:25 EST 2019


Thanks Manuel and Eric. jCute was indeed instrumenting the code in a way
which is not approved by soot.

On Thu, Jan 10, 2019 at 6:55 PM Eric Bodden <eric.bodden at uni-paderborn.de>
wrote:

> Hi Dhriti.
>
> This error seems to have nothing to do with Heros. The problem to me looks
> as follows:
>
> For a Jimple body to be valid, @this-assignments have to precede all other
> statements in the body. Here it might be the case that jCute generates
> statements in such a way that this is no longer the case. jCute itself
> calls valdiate() on the body, which then detects the erroreous body,
> causing the exception to be thrown.
>
> It might help to take a look at the JimpleBody in question, e.g. by
> printing it out in a debugger.
>
> Best wishes
> Eric
>
> > On 10. Jan 2019, at 12:36, Dhriti Khanna <dhritik at iiitd.ac.in> wrote:
> >
> > Dear all,
> >
> > I am coming across an error while running the jCute test cases. jCute is
> a concolic execution engine which instruments the programs using soot. The
> error is as follows:
> >
> > [Thread-5] ERROR heros.solver.CountingThreadPoolExecutor - Worker thread
> execution failed: @this-assignment statement should precede all other
> statements
> >  method: <tests.Struct: void <init>()>
> > @this-assignment statement should precede all other statements
> >  method: <tests.Struct: void <init>()>
> >
> > I am not sure whether jCute requires heros framework, but still this
> error. I want to know when does someone bump into this error?
> >
> > This is the stack trace:
> >
> >  method: <tests.Struct: void <init>()>
> >       at
> soot.jimple.validation.IdentityStatementsValidator.validate(IdentityStatementsValidator.java:51)
> >       at soot.jimple.JimpleBody.validate(JimpleBody.java:114)
> >       at soot.jimple.JimpleBody.validate(JimpleBody.java:97)
> >       at
> cute.instrument.CuteInstrumenter.internalTransform(CuteInstrumenter.java:162)
> >       at soot.BodyTransformer.transform(BodyTransformer.java:54)
> >       at soot.Transform.apply(Transform.java:105)
> >       at soot.BodyPack.internalApply(BodyPack.java:49)
> >       at soot.Pack.apply(Pack.java:125)
> >       at soot.PackManager.runBodyPacks(PackManager.java:973)
> >       at soot.PackManager.access$000(PackManager.java:112)
> >       at soot.PackManager$1.run(PackManager.java:620)
> >       at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >       at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >       at java.lang.Thread.run(Thread.java:748)
> >
> > I have attached the simple program on which I test jCute. Looking out
> for some clues for this.
> >
> > --
> > Regards
> > Dhriti Khanna
> > PhD Scholar
> > IIIT Delhi
> > <Demo.java>_______________________________________________
> > Soot-list mailing list
> > Soot-list at CS.McGill.CA
> > https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>
>

-- 
Regards
Dhriti Khanna
PhD Scholar
IIIT Delhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20190112/24117a98/attachment.html>


More information about the Soot-list mailing list