Class TaintSink

  • Direct Known Subclasses:
    JvmTaintSink

    public abstract class TaintSink
    extends java.lang.Object
    A TaintSink specifies a sink for the taint analysis. A sink can be sensitive to the instance, the arguments, or the static fields. If a sink S is sensitive to X, then if X is tainted, we conclude that the taint has reached S.
    • Field Detail

      • IS_VALID_FOR_SOURCE_DEFAULT

        protected static final java.util.function.Predicate<TaintSource> IS_VALID_FOR_SOURCE_DEFAULT
      • signature

        public final Signature signature
      • isValidForSource

        public final java.util.function.Predicate<TaintSource> isValidForSource
    • Constructor Detail

      • TaintSink

        public TaintSink​(Signature signature)
        Create a taint sink.
        Parameters:
        signature - the signature of a sink method
      • TaintSink

        public TaintSink​(Signature signature,
                         java.util.function.Predicate<TaintSource> isValidForSource)
        Create a taint sink.
        Parameters:
        signature - the signature of a sink method
        isValidForSource - predicate on whether the sink is valid for a given source
    • Method Detail

      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public abstract java.lang.String toString()
        Overrides:
        toString in class java.lang.Object