[Soot-list] Help with Soot/Indus - retain variable & method names

Fayezin nitrousfiz at googlemail.com
Sun Jun 3 09:52:31 EDT 2007


Dear VPR and Eric,

I have changed the soot options in the indus source and compiled it.

When I use the class files in SliceXMLizerCLI it gives the error given
below.

 I dont know whether this is caused by Soot or Indus.

Seems it cant access binding information. Please help me to sort it out.


03-Jun-2007 14:43:32 org.slf4j.impl.JCLLoggerAdapter warn

WARNING: Trying to use default configuration.

03-Jun-2007 14:43:32 org.slf4j.impl.JCLLoggerAdapter error

SEVERE: Error while setting up JiBX. Aborting.

Unable to access binding information for class
edu.ksu.cis.indus.tools.CompositeToolConfiguration

Make sure the binding has been compiled
*

java.lang.NoSuchFieldException*: JiBX_bindingList

at java.lang.Class.*getDeclaredField*(Unknown Source)

at org.jibx.runtime.BindingDirectory.getBindingList(*BindingDirectory.java
:70*)

at org.jibx.runtime.BindingDirectory.getFactory(*BindingDirectory.java:207*)

at edu.ksu.cis.indus.tools.slicer.SlicerTool.destringizeConfiguration(Unknown
Source)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.setConfiguration(*
SliceXMLizerCLI.java:337*)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.parseCommandLine(*
SliceXMLizerCLI.java:639*)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.main(*SliceXMLizerCLI.java
:293*)

Exception in thread "main" *java.lang.RuntimeException*: *
org.jibx.runtime.JiBXException*: Unable to access binding information for
class edu.ksu.cis.indus.tools.CompositeToolConfiguration

Make sure the binding has been compiled

at edu.ksu.cis.indus.tools.slicer.SlicerTool.destringizeConfiguration(Unknown
Source)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.setConfiguration(*
SliceXMLizerCLI.java:337*)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.parseCommandLine(*
SliceXMLizerCLI.java:639*)

at edu.ksu.cis.indus.tools.slicer.SliceXMLizerCLI.main(*SliceXMLizerCLI.java
:293*)

Caused by: *org.jibx.runtime.JiBXException*: Unable to access binding
information for class edu.ksu.cis.indus.tools.CompositeToolConfiguration

Make sure the binding has been compiled

at org.jibx.runtime.BindingDirectory.getBindingList(*BindingDirectory.java
:77*)

at org.jibx.runtime.BindingDirectory.getFactory(*BindingDirectory.java:207*)

at edu.ksu.cis.indus.tools.slicer.SlicerTool.destringizeConfiguration(Unknown
Source)

... 3 more

I was going to post this to the indus forum as well but I cant access it at
the moment. May be the server is temporarily down.

Any help in this matter will be very appreciated.

Thanks,

Fayezin


On 27/05/07, Fayezin <nitrousfiz at googlemail.com> wrote:
>
> Dear VPR,
>
> Thanks for the info. It is really appreciated.
>
> I will try as you and Eric said and let you know the result.
>
> From what I understood, I have to change the source of Indus 0.8.3.1
> to change the soot loading options & control variable renaming, and
> recompile the source to use the class
> files in my original project. Am I right?
>
> Thanks,
>
> Fayezin
>
>
>  On 26/05/07, Venkatesh Prasad Ranganath <vranganath at sbcglobal.net> wrote:
> >
> > On May 25, 2007, at 4:39 PM, Fayezin wrote:
> >
> > > Hello,
> > >
> > > I am trying to use the Indus Java Slicer (which uses Soot) for
> > > Program Slicing.
> > >
> > > Unfortunately, the resulting class file obtained from Indus
> > > discards variable and method name information.
> > > Ironically, that is what I need - variable and method names from
> > > the program slices.
> > >
> > > The makers of Indus say that variable and method names are
> > > discarded by Soot which is used inside the Indus slicer.
> >
> > I don't recall seeing this information.  If so, it needs
> > qualification/clarification.
> >
> > My understanding is that using the "local variable splitting"
> > transformation can result in a perceived loss of variable names as
> > new intermediate variables may be introduced.  I guess this is the
> > case in Soot.  As for method names, to the best of my knowledge, Soot
> > retains method names as recorded in the class files.  As for Indus,
> > it does not introduce new identifiers; it relies entirely on Soot to
> > decompile class files and create their Jimple representation.
> >
> > As Eric mentioned, you should be able to change the Soot loading
> > options and control variable (re)naming.  Please refer to
> > edu.ksu.cis.indus.commons.soot.Utils.getSootOptions() method in Indus
> > source base to implement this change.
> >
> > Hope that helps,
> >
> > - Venkatesh Prasad Ranganath
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20070603/6fe59c20/attachment-0001.htm


More information about the Soot-list mailing list