org.kit.furia.fragment
Class FragmentBuilderClient

java.lang.Object
  extended by org.kit.furia.fragment.FragmentBuilderClient

public class FragmentBuilderClient
extends java.lang.Object

FragmentBuilderClient is in charge of executing soot in a set of java class directories and leaving a "fragments" file in the specified output directory. Since Soot has problems when executed several times during the life of a VM (reset had issues) we call a new VM for each program that will be fragmented.

Since:
0
Author:
Arnoldo Jose Muller Molina

Field Summary
protected  java.io.File outputDirectory
          The output directory to use.
 
Constructor Summary
FragmentBuilderClient(boolean directoryOfDirectoriesMode, java.io.File directory, int cpus, java.io.File outputDirectory, boolean failOnError, long timeout, java.lang.String fragmentEngine)
          Takes a directory of a set of directories and generates fragments out of the given folders.
FragmentBuilderClient(boolean directoryOfDirectoriesMode, java.io.File directory, int cpus, java.io.File outputDirectory, boolean failOnError, java.lang.String engine)
          Takes a directory of a set of directories and generates fragments out of the given folders.
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outputDirectory

protected java.io.File outputDirectory
The output directory to use.

Constructor Detail

FragmentBuilderClient

public FragmentBuilderClient(boolean directoryOfDirectoriesMode,
                             java.io.File directory,
                             int cpus,
                             java.io.File outputDirectory,
                             boolean failOnError,
                             java.lang.String engine)
                      throws java.lang.Exception,
                             java.lang.InterruptedException
Takes a directory of a set of directories and generates fragments out of the given folders. An infinite timeout is set. (Not recommended for Soot)

Parameters:
cpus - The number of CPUS to employ
directory - The directory that will be opened.
directoryOfDirectoriesMode - If the program will receive one directory (that holds in its root a set of java class files) (false) or if the directory received contains directories that contain class files. Each of these directories is treated as a different application.
outputDirectory - The directory that holds the resulting files from the operation. If directoryOfDirectoriesMode == false then the output data files will be copied directory to outputDirectory. Otherwise a directory outputDirectory/ will be created for each application where is the application name.
engine - Fragment engine that will be used 'soot' or 'asm'.
failOnError - If true, stops if there is an error.
Throws:
java.lang.Exception
java.lang.InterruptedException

FragmentBuilderClient

public FragmentBuilderClient(boolean directoryOfDirectoriesMode,
                             java.io.File directory,
                             int cpus,
                             java.io.File outputDirectory,
                             boolean failOnError,
                             long timeout,
                             java.lang.String fragmentEngine)
                      throws java.lang.Exception,
                             java.lang.InterruptedException
Takes a directory of a set of directories and generates fragments out of the given folders.

Parameters:
cpus - The number of CPUS to employ
directory - The directory that will be opened.
directoryOfDirectoriesMode - If the program will receive one directory (that holds in its root a set of java class files) (false) or if the directory received contains directories that contain class files. Each of these directories is treated as a different application.
outputDirectory - The directory that holds the resulting files from the operation. If directoryOfDirectoriesMode == false then the output data files will be copied directory to outputDirectory. Otherwise a directory outputDirectory/ will be created for each application where is the application name.
failOnError - If true, stops if there is an error.
fragmentEngine - The fragment engine to be used, currently soot or ASM.
timeout - Amount of time in milliseconds to wait until one program is fragmented.
Throws:
java.lang.Exception
java.lang.InterruptedException


Copyright © 2008 Arnoldo Jose Muller Molina. All Rights Reserved.