A. Changing Method Behavior
Before rewriting an application using our system, the user must identify the methods on which they wish to interpose. We call these methods of interest the target methods. Users identify target methods by the full method signature, including the types and package and class containing the method. In Dalvik bytecode methods are identified uniquely so with full method signatures there is no danger of confusing two methods with the same name. The methods of interest greatly depend on the goal of the rewriting, though tools such as static analysis may be valuable ways to determine methods to target. For example, Stowaway [7] used static analysis on the Android platform to map all Android methods that required Android permissions. One could use a method listing like this as a basis for adding a flexible, finegrained access controls into Android applications without requiring any platform modifications.