Public Methods | |
PostProcessOnAnnotation (List ct, AnnotationManager cfs) | |
Set | getModifiedPackages () |
Set | getModifiedSootClasses () |
Set | getModifiedSootMethods () |
Set | getParameterModifiedMethods () |
Set | getRemovableLocals (SootMethod sm) |
Set | getRemovablePackages () |
Set | getRemovableSootClasses () |
Set | getRemovableSootFields () |
Set | getRemovableSootMethods () |
Set | getUnreachableSootClasses () |
Set | getUnreachableSootMethods () |
void | resClassCons () |
Private Methods | |
void | addCatchesToRemovedSet (Set removedSet, Vector catches, StmtList stmtList, Set linePropList, BitSet slcSet) |
void | addCatchesToSliceSet (BitSet slcSet, Vector catches, StmtList stmtList) |
boolean | buildNewInvokeExpr (InvokeExpr invokeExpr) |
void | callSiteInSlice (Map callSiteIndexMap, Map callSiteMap, Stmt stmt) |
boolean | emptyBody (Stmt[] bodyStmts, BitSet sliceSet, StmtList stmtList) |
boolean | emptyBody (Set bodyStmts, BitSet sliceSet, StmtList stmtList) |
Set | fieldRefToField (Set fieldRefSet) |
void | filterOutFields (Set variableSet) |
Set | getAllClassesFor (Package pckg) |
Set | getAllPackages () |
Set | getAllVarsOf (MethodInfo mdInfo) |
Set | getCurrentResidualClasses () |
LinkedList | getKeepedParaOriginalIndex (MethodInfo mdInfo) |
Set | getTrapHandlers (JimpleBody jimpBody) |
Set | getUnusedLocals (MethodInfo mdInfo) |
void | initializeMdInfoAndAnnotation () |
boolean | isImplementingOneAbstractMd (SootClass superClass, SootMethod sm) |
boolean | isImplementingOneAbstractMd (SootMethod sm) |
boolean | isImplementingOneInterfaceMd (SootClass interfaceClass, SootMethod sm) |
boolean | isPublicAndStatic (int modifier) |
void | keepParasOfMainMd (MethodInfo mdInfo, Map relevantVars, StmtList stmtList, BitSet sliceSet) |
void | makeMethodEmpty (MethodInfo methodInfo, Annotation annForSm) |
boolean | modifyMethod (MethodInfo mdInfo) |
void | relevantExceptionClasses () |
void | relevantFDClass () |
void | relevantInterfaceAndSuperClasses () |
void | removeEmptyBlock (MethodInfo mdInfo, Set rmedStmtByEmptBlck, Vector currentCFANNs, StmtList stmtList, JimpleBody jimpleBody) |
void | removeEmptyConditionalBlock (Vector currentCfanns, BitSet slcSet, Set linePropList, Set removedStmtByEmptyB, StmtList stmtList) |
void | removeEmptyLock (List lockPairList, BitSet slcSet, Set linePropList, Set removedStmtByEmptyB, StmtList stmtList) |
void | removeEmptyTry (Vector currentCfanns, BitSet slcSet, Set linePropList, Set removedStmtByEmptyB, StmtList stmtList, JimpleBody jimpleBody) |
void | removeEmptyTryFinally (Vector currentCfanns, BitSet slcSet, Set linePropList, Set removedStmtByEmptyB, StmtList stmtList, JimpleBody jimpleBody) |
void | removeFieldInClinit (SootClass sootClass, SootField sootField) |
void | removeIrrelevantFields (ClassInfo classInfo) |
void | residualParameters (MethodInfo mdInfo) |
void | rmIrrelevantFds () |
void | rmIrrelevantParasForInvoke () |
void | rmIrrelevantParasForMd () |
void | rmMethodAndClass (Map removableMdMap) |
void | rmParasOfInvokeExpr (MethodInfo mdInfo) |
void | rmUnusedLocals () |
Private Attributes | |
Map | modifiedSootMethodToRemovableLocals = new HashMap() |
Set | removableSootMethods = new ArraySet() |
Set | unreachableSootMethods = new ArraySet() |
Set | unreachableSootClasses = Slicer.unreachableClasses |
Set | removableSootFields = new ArraySet() |
Set | parameterModifiedSootMethods = new ArraySet() |
List | classList |
Set | removableSootClasses = new ArraySet() |
List | changeReturnTypeToVoidMds = new ArrayList() |
Set | relevantFields = new ArraySet() |
Set | relevantExceptionClassNames = new ArraySet() |
AnnotationManager | cfanns = null |
Definition at line 52 of file PostProcessOnAnnotation.java.
|
Definition at line 95 of file PostProcessOnAnnotation.java. |
|
Add all statements in
Definition at line 113 of file PostProcessOnAnnotation.java. Referenced by removeEmptyTry(), and removeEmptyTryFinally().
|
|
Add all statements in catch blocks into the given slice set.
Definition at line 135 of file PostProcessOnAnnotation.java. Referenced by removeEmptyTry(), and removeEmptyTryFinally().
|
|
Process parameters of a call site in slice. Change parameters of an invoke expression in terms of changes in called method.
Definition at line 183 of file PostProcessOnAnnotation.java. Referenced by modifyMethod().
|
|
See if all statements in a set of statement are not in a slice set.
Definition at line 232 of file PostProcessOnAnnotation.java. |
|
See if all statements in an array of statement are not in a slice set.
Definition at line 216 of file PostProcessOnAnnotation.java. Referenced by removeEmptyConditionalBlock(), removeEmptyLock(), removeEmptyTry(), and removeEmptyTryFinally().
|
|
Collect soot fields from a set of field references.
Definition at line 246 of file PostProcessOnAnnotation.java. Referenced by removeIrrelevantFields().
|
|
Collect all FieldRef from a set of Value into the field relevantFields.
Definition at line 259 of file PostProcessOnAnnotation.java. Referenced by modifyMethod(), and resClassCons().
|
|
Insert the method's description here. Creation date: (00-12-7 10:58:43)
Definition at line 272 of file PostProcessOnAnnotation.java. Referenced by getModifiedPackages(), and getRemovablePackages().
|
|
Insert the method's description here. Creation date: (00-12-7 10:42:45)
Definition at line 287 of file PostProcessOnAnnotation.java. Referenced by getModifiedPackages(), and getRemovablePackages().
|
|
Get all Value used/defined in a method body.
Definition at line 308 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Insert the method's description here. Creation date: (00-12-6 15:23:43)
Definition at line 322 of file PostProcessOnAnnotation.java. Referenced by relevantInterfaceAndSuperClasses().
|
|
Get residual parameters for a method.
Definition at line 338 of file PostProcessOnAnnotation.java. Referenced by callSiteInSlice().
|
|
Insert the method's description here. Creation date: (00-12-7 10:13:23)
Definition at line 356 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-7 10:12:44)
Definition at line 379 of file PostProcessOnAnnotation.java. Referenced by getModifiedPackages(), and CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-6 16:55:43)
Definition at line 399 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-18 11:54:07)
Definition at line 407 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-6 15:38:21)
Definition at line 416 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::getLocalDecState().
|
|
Insert the method's description here. Creation date: (00-12-7 10:13:55)
Definition at line 424 of file PostProcessOnAnnotation.java. Referenced by getModifiedPackages(), and CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-6 17:10:18)
Definition at line 446 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-6 15:33:00)
Definition at line 454 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Insert the method's description here. Creation date: (00-12-6 15:27:28)
Definition at line 462 of file PostProcessOnAnnotation.java. Referenced by CodeBrowserPane::setPostProcessValues().
|
|
Get all trap hanlders from jimple body.
Definition at line 471 of file PostProcessOnAnnotation.java. Referenced by modifyMethod().
|
|
Insert the method's description here. Creation date: (00-12-6 15:32:10)
Definition at line 486 of file PostProcessOnAnnotation.java. |
|
Insert the method's description here. Creation date: (00-12-6 15:31:31)
Definition at line 494 of file PostProcessOnAnnotation.java. |
|
Insert the method's description here. Creation date: (00-12-6 14:54:27)
Definition at line 503 of file PostProcessOnAnnotation.java. Referenced by rmUnusedLocals().
|
|
Insert the method's description here. Creation date: (00-12-7 18:06:38) Definition at line 545 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Insert the method's description here. Creation date: (00-11-14 10:59:21)
Definition at line 593 of file PostProcessOnAnnotation.java. |
|
Insert the method's description here. Creation date: (00-11-14 11:18:28)
Definition at line 572 of file PostProcessOnAnnotation.java. Referenced by isImplementingOneAbstractMd(), and resClassCons().
|
|
Insert the method's description here. Creation date: (00-11-14 11:29:00)
Definition at line 624 of file PostProcessOnAnnotation.java. Referenced by isImplementingOneAbstractMd().
|
|
See if a given modifier is public and static.
Definition at line 641 of file PostProcessOnAnnotation.java. Referenced by keepParasOfMainMd().
|
|
Keep all parameters for
Definition at line 656 of file PostProcessOnAnnotation.java. Referenced by modifyMethod().
|
|
Insert the method's description here. Creation date: (00-11-14 13:21:07)
Definition at line 675 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Construct residual method.
Definition at line 760 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Insert the method's description here. Creation date: (00-11-10 9:18:31) Definition at line 928 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Filter out the classes such that there is no method left in the class, but there are some fields are relevant, i.e., accessible by other relvant classes. So those classes are not removable. Definition at line 949 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Insert the method's description here. Creation date: (00-12-6 15:16:27) Definition at line 968 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Remove all empty block in one method. It's including:
Definition at line 989 of file PostProcessOnAnnotation.java. Referenced by modifyMethod().
|
|
Remove empty conditional block.
Definition at line 1012 of file PostProcessOnAnnotation.java. Referenced by removeEmptyBlock().
|
|
Remove empty lock.
Definition at line 1094 of file PostProcessOnAnnotation.java. Referenced by removeEmptyBlock().
|
|
Remove empty try block.
Definition at line 1136 of file PostProcessOnAnnotation.java. Referenced by removeEmptyBlock().
|
|
Remove empty try finally block.
Definition at line 1179 of file PostProcessOnAnnotation.java. Referenced by removeEmptyBlock().
|
|
Insert the method's description here. Creation date: (00-12-20 13:56:57)
Definition at line 1227 of file PostProcessOnAnnotation.java. Referenced by removeIrrelevantFields().
|
|
Remove irrelevant fileds for a class.
Definition at line 1263 of file PostProcessOnAnnotation.java. Referenced by rmIrrelevantFds().
|
|
Construct residual classes. Definition at line 1279 of file PostProcessOnAnnotation.java. Referenced by Slicer::postProcessingOnAnnotation().
|
|
Construct residual parameter for a given method.
Definition at line 1374 of file PostProcessOnAnnotation.java. Referenced by rmIrrelevantParasForMd().
|
|
Remove irrelevant fields in every classes. Definition at line 1425 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Remove irrelevant parameters for invoke expression. Definition at line 1438 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Remove irrelevant parameters for method declaration. Definition at line 1454 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Remove methods and classes in terms of given removable method map.
Definition at line 1479 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
Remove irrelevant parameters of invoke expressions in a given method.
Definition at line 1501 of file PostProcessOnAnnotation.java. Referenced by rmIrrelevantParasForInvoke().
|
|
Remove irrelevant parameters for invoke expression. Definition at line 1558 of file PostProcessOnAnnotation.java. Referenced by resClassCons().
|
|
A list of SootMethod such that return value should be changed to return void due to the irrelevance of return value. Definition at line 83 of file PostProcessOnAnnotation.java. |
|
A list of ClassInfo for each class. Definition at line 73 of file PostProcessOnAnnotation.java. |
|
A set of Value which is relevant in the residual program. Definition at line 88 of file PostProcessOnAnnotation.java. |
|
A list of ClassInfo which is sliced away. Definition at line 77 of file PostProcessOnAnnotation.java. |