soot.jimple.infoflow.data.accessPaths.IAccessPathReductionStrategy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of soot-infoflow Show documentation
Show all versions of soot-infoflow Show documentation
Soot extending data flow tracking components for Java
The newest version!
package soot.jimple.infoflow.data.accessPaths;
import soot.Value;
import soot.jimple.infoflow.data.AccessPathFragment;
/**
*
* Strategy for reducing a sequence of access path fragments. AP reduction
* ideally transforms an incoming AP into its canonical form. This helps avoid
* infinite recursion.
*
*
*
* Examples for reduction:
*
*
*
* list.next.prev -> list
*
*
* @author Steven Arzt
*
*/
public interface IAccessPathReductionStrategy {
/**
* Reduces the given sequence of access path fragments
*
* @param base The local in which the access path is rooted
* @param fragments The sequence of access path fragments to reduce
* @return The reduced sequence of access path fragments if the reduction was
* applicable, otherwise the original sequence
*/
public AccessPathFragment[] reduceAccessPath(Value base, AccessPathFragment[] fragments);
}