org.kit.furia.fragment
Interface FragmentExtractor

All Known Implementing Classes:
AbstractFragmentExtractor, FragmentExtractorASM, FragmentExtractorSoot

public interface FragmentExtractor

FragmentExtractors take a directory with class files and extract all the fragments from it.

Author:
Arnoldo Jose Muller Molina

Method Summary
 void extractMethodsFromDirectory(java.lang.String directory, int maxStructuresAllowed, int minStructuresAllowed, java.lang.String outputPath, java.lang.String outputFile)
          Extracts fragments from the given directory.
 

Method Detail

extractMethodsFromDirectory

void extractMethodsFromDirectory(java.lang.String directory,
                                 int maxStructuresAllowed,
                                 int minStructuresAllowed,
                                 java.lang.String outputPath,
                                 java.lang.String outputFile)
                                 throws java.io.FileNotFoundException,
                                        NoClassesFound,
                                        java.io.IOException,
                                        IRException,
                                        FragmentParseException
Extracts fragments from the given directory. Furia-chan's fragment file format is: \t\n where is a string representation of an integer and is a string representation of a tree (for example: a(b,c))

Parameters:
directory - Directory from where we will extract fragments.
maxStructuresAllowed - Maximum nodes per tree.
minStructuresAllowed - Minimum nodes per tree.
outputPath - Output path where logs will be written.
outputFile - The file where the fragments will be stored.
Throws:
java.io.FileNotFoundException - If the input or output files cannot be found.
NoClassesFound - If no classes were found.
java.io.IOException - If an IO error occurs.
IRException - If some other error occurs it will be wrapped on this exception.
FragmentParseException - If a fragment is not generated properly, this exception will be thrown. For debugging purposes.


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