[Soot-list] TamiFlex

Eric Bodden bodden at st.informatik.tu-darmstadt.de
Tue Feb 8 12:04:19 EST 2011


Hi Jochen.

This was indeed a bug in the implementation. I fixed this with version 1.1.1:

http://tamiflex.googlecode.com/files/poa-1.1.1.jar

I hope this works for you now.

Eric

On 8 February 2011 16:27, Jochen Huck <jochen.huck at student.kit.edu> wrote:
> Hi,
>
> my vm arguments are:
>
> -javaagent:poa-1.1.jar=out\tamiflex
>
> It works fine on linux...
>
> Thanks,
> Jochen
>
> Am 08.02.2011 15:20, schrieb Eric Bodden:
>>
>> Hi Jochen.
>>
>> Thanks for your message. Just to let you know, TamiFlex has its own
>> mailing list, which you may want to sign up for:
>> http://groups.google.com/group/tamiflex-discuss
>>
>> But about your problem...
>>
>>> currentry I try to use TamiFlex because I want to analyze a project
>>> using reflection with Soot and I need a complete call graph. I run my
>>> application with the playout agend enabled. It generates the desired
>>> output but I get the following exception:
>>>
>>> TamiFlex Play-Out Agent Version 1.1
>>> Found 86 new log entries.
>>> Log file written to:
>>>
>>> D:\Studienarbeit\ProjectsWorkspace\ImageJ(modified,pretransformed)\out\tamiflex\refl.log
>>> Exception in thread "Thread-0"
>>> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
>>>     at java.lang.String.substring(Unknown Source)
>>>     at de.bodden.tamiflex.playout.Agent$1.run(Agent.java:130)
>>
>> Line 130 holds this code:
>>
>> String agentJarDir = agentJarFilePath.substring(0,
>> agentJarFilePath.lastIndexOf(File.separator));
>>
>> Normally this should not be able to fail because agentJarFilePath
>> should hold the path to your poa-1.1.jar, and therefore should contain
>> a File.separator token. I wonder if this is a Windows-related problem.
>> I always tested TamiFlex on Unix-based systems. Could you let me know
>> the exact command line that you are using?
>>
>>> The folder ...\out\tamiflex contains some *.class files. What is the
>>> intension of these files?
>>
>> Some applications generate classes at runtime or load them from
>> obscure locations. TamiFlex therefore writes to disk all classes that
>> the application loads (including generated ones) into a flat
>> directory. This allows you to then easier supply these classes to
>> tools like Soot. If not needed, you can disable the option using this
>> command line:
>>
>> java -javaagent:poa-1.1.jar=dontDumpClasses,<yourOutDir>
>>
>> In general, if you just type "java -javaagent:poa-1.1.jar" this will
>> show you all available options.
>>
>> Eric
>
>



-- 
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