| 
||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||
See:
          Description
| Interface Summary | |
|---|---|
| AbstractDispatchStrategy | Strategy for finding the set of possible targets of an instance invocation. | 
| AssertionCreator | Analyzes the conditions of if and switch statements and produces corresponding assertion statement for the intermediate program. | 
| FieldReferenceTranslator | |
| IntermediateFactory | This is a Facade pattern, used by StatementTranslatorImpl and MethodCallTranslator. | 
| Jimple2IntermediateFactory | A configuration for the jimple-to-intermediate translation. | 
| MethodCallTranslator | Handles certain method calls specially by creating intermediate statements for them. | 
| MethodTranslator | Translates the bodies of jimple-methods into intermediate form. | 
| StatementTranslator | Translates individual jimple-statements into intermediate code, which is put into
 an IntermediateFactory. | 
| StatementTranslatorFacade | Handles translation of statements when requested by MethodTranslator. | 
| StaticStringTypes | Provides the static string types of return values, parameters, and fields. | 
| TaintAnalysisStrategy | Used for taint analysis. | 
| TranslationContext | Provides information from the higher-level aspects of the analysis to lower-level aspects. | 
| Class Summary | |
|---|---|
| AbstractDispatchClassHierarchy | Finds the possible targets of an invocation using the class hierarchy of the application. | 
| ApplicationFieldReferenceTranslator | |
| ApplicationMethodCallTranslator | Calls to non-external methods and constructors are translated to Call statements. | 
| AssertionBranch | A subgraph containing assertions. | 
| AssertionBranches | A pair of assertion branches (AssertionBranch); corresponding to the
 true and false outcomes of a branching condition, respectively. | 
| AssertionContext | |
| AssertionCreatorImpl | |
| Automatons | Provides automatons for common Java types. | 
| BuiltinMethodCallTranslator | Translates calls to methods declared in String, StringBuffer, StringBuilder, and Object into
 statements, modelling them as precisely as possible. | 
| CompositeFieldReferenceTranslator | |
| CompositeMethodCallTranslator | Groups multiple translators together. | 
| ControlFlowBuilder | Utility class assisting in the construction of method bodies. | 
| ExprAnswerVisitor<Q,A> | Jimple visitor pattern that takes an auxillary parameter and has a return value. | 
| HotspotInfo | Contains a Hotspot statement and information about which jimple-expression,
 Java source file, class, method, and line number it was originally defined at. | 
| HotspotValueBoxPair | Contains a Hotspot statement and the ValueBox holding the expression
 that was originally marked as the hotspot. | 
| Jimple2Intermediate | Converter from Jimple code to intermediate representation. | 
| Jimple2IntermediateFactoryImpl | |
| MethodTranslatorImpl | |
| NaiveMethodCallTranslator | Method-call translator that can't handle any methods. | 
| PrintClassHierarchy | Prints all ancestor types of a given class or interface. | 
| ResolverFieldReferenceTranslator | |
| ResolverMethodCallTranslator | Uses a list of Resolver strategies to translate method calls. | 
| StatementTranslatorFacadeImpl | Acts as the middle-man between MethodTranslator and StatementTranslatorImpl. | 
| StatementTranslatorImpl | Translates Jimple-expressions and -statements into Statements in intermediate form. | 
| StaticStringTypesNull | Defines no static string types. | 
| ThisPointerAnalysis | Determines which variables definitely refer to this at each program point. | 
| TranslatedStatement | Contains the entry and exit points for the control-flow graph of a single
 translated jimple-statement, and a list of all the Hotspot statements
 within. | 
| Types | Contains static methods for converting Java types into Intermediate types. | 
| VariableManager | Keeps a mapping from soot locals and fields, to their corresponding intermediate locals and fields. | 
Translating Jimple code into intermediate representation.
Intermediate representation (IR) is simplified compared to the Jimple code in the following ways:
String, StringBuffer,
        StringBuilder or array (of any dimension) of
        String are retained. Only operations on these types occur in the IR.
        Variables declared as a supertype of one of those, such as Object or Serializable,
        are also retained.
    null" is added as an extra
        possibility.
    StringBuffer, StringBuilder,
        or String array value escapes into
        unknown code, it is marked as escaping at that point in the program by a
        special escape construct in the IR.
This code may be used under the terms of the GNU General Public License.
  | 
||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||