[Soot-list] ClassCastException during OnTheFlyCallGraph-Creation

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Fri Oct 7 02:55:09 EDT 2011


Hi Tillmann.

For some reason the method seems not to have been converted to Jimple
but is stuck at the lower IR (Baf). What's your exact command line?

Eric

On 6 October 2011 18:01, Tillmann Runkel
<tirunkel at informatik.uni-bremen.de> wrote:
> Hi,
>
> i tried to perform a CHA-Transformation (Input:java-src, jimple-creation
> okay, Call-Graph construction seems to be okay) and got a
> ClassCastException at
>
> soot.jimple.toolkits.callgraph.OnFlyCallGraphBuilder.getImplicitTargets(SootMethod)
> | line 579
> (java.lang.ClassCastException: soot.baf.internal.BIdentityInst cannot be
> cast to soot.jimple.Stmt).
>
> The problematic Method is (java-src):
>
>     public AccountTO getSelectedAccount() {
>         return selectedAccount;
>     }
>
> with the active Body (Body b = source.retrieveActiveBody();):
>
> public br.org.flowstore.entity.AccountTO getSelectedAccount()
>     {
>         word r0;
>
>         r0 := @this: br.org.flowstore.service.AccountService;
>
>      label0:
>         load.r r0;
>
>      label1:
>         fieldget <br.org.flowstore.service.AccountService:
> br.org.flowstore.entity.AccountTO selectedAccount>;
>
>      label2:
>         return.r;
>     }
>
> it crashed when trying to cast the "r0 := @this:
> br.org.flowstore.service.AccountService;"-Statement with Exception above.
>
>     private void findReceivers(SootMethod m, Body b) {
>         for( Iterator sIt = b.getUnits().iterator(); sIt.hasNext(); ) {
>             final Stmt s = (Stmt) sIt.next(); // <---
> java.lang.ClassCastException: soot.baf.internal.BIdentityInst cannot be
> cast to soot.jimple.Stmt
>
> Anyone any ideas?
>
> Thanks in advance.
>
> Tillmann
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>



-- 
Dr. Eric Bodden, http://bodden.de/
Principal Investigator in Secure Services at CASED
Coordinator of the CASED Advisory Board of Study Affairs
PostDoc at Software Technology Group, Technische Universität Darmstadt
Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt


More information about the Soot-list mailing list