Packages

package common

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed abstract class AccelerationMode extends Product with Serializable

    AccelerationMode is an enum to specify a mode of acceleration of VM execution on fuzzing.

  2. final class CancelException extends ReDoSException

    TimeoutException is an exception thrown on canceled.

  3. final class CancellationToken extends AnyRef

    CancellationToken is a token to cancel a process.

  4. final class CancellationTokenSource extends AnyRef

    CancellationTokenSource is a source of a cancellation token.

  5. sealed abstract class Checker extends Product with Serializable

    Checker is an enum values to specify a checker to be used.

  6. final class Context extends AnyRef

    Context is an execution context which has a deadline and can be canceled.

    Context is an execution context which has a deadline and can be canceled.

    Note that it is NOT reusable. We must create a new instance on each execution.

  7. final class InvalidRegExpException extends ReDoSException

    InvalidRegExpException is an exception thrown when regexp is invalid.

  8. final case class Parameters(accelerationMode: AccelerationMode = Parameters.DefaultAccelerationMode, attackLimit: Int = Parameters.DefaultAttackLimit, attackTimeout: Duration = Parameters.DefaultAttackTimeout, checker: Checker = Parameters.DefaultChecker, crossoverSize: Int = Parameters.DefaultCrossoverSize, heatRatio: Double = Parameters.DefaultHeatRatio, incubationLimit: Int = Parameters.DefaultIncubationLimit, incubationTimeout: Duration = Parameters.DefaultIncubationTimeout, logger: Option[Logger] = Parameters.DefaultLogger, maxAttackStringSize: Int = Parameters.DefaultMaxAttackStringSize, maxDegree: Int = Parameters.DefaultMaxDegree, maxGeneStringSize: Int = Parameters.DefaultMaxGeneStringSize, maxGenerationSize: Int = Parameters.DefaultMaxGenerationSize, maxInitialGenerationSize: Int = Parameters.DefaultMaxInitialGenerationSize, maxIteration: Int = Parameters.DefaultMaxIteration, maxNFASize: Int = Parameters.DefaultMaxNFASize, maxPatternSize: Int = Parameters.DefaultMaxPatternSize, maxRecallStringSize: Int = Parameters.DefaultMaxRecallStringSize, maxRepeatCount: Int = Parameters.DefaultMaxRepeatCount, maxSimpleRepeatCount: Int = Parameters.DefaultMaxSimpleRepeatCount, mutationSize: Int = Parameters.DefaultMutationSize, randomSeed: Long = Parameters.DefaultRandomSeed, recallLimit: Int = Parameters.DefaultRecallLimit, recallTimeout: Duration = Parameters.DefaultRecallTimeout, seeder: Seeder = Parameters.DefaultSeeder, seedingLimit: Int = Parameters.DefaultSeedingLimit, seedingTimeout: Duration = Parameters.DefaultSeedingTimeout, timeout: Duration = Parameters.DefaultTimeout) extends Product with Serializable

    Parameters is an immutable representation of parameters.

    Parameters is an immutable representation of parameters.

    accelerationMode

    The type of acceleration mode strategy on fuzzing. There are three acceleration mode strategies.

    • auto uses acceleration mode as default. However, if the regular expression has backreferences, it turns off the acceleration mode.
    • on turns on the acceleration mode.
    • off turns off the acceleration mode. (default: AccelerationMode.Auto)
    attackLimit

    The upper limit on the number of characters read by VM on the attack. (default: 1500000000)

    attackTimeout

    The upper limit of matching time on the attack. (default: Duration(1, SECONDS))

    checker

    The type of checker to be used. There are three checker types.

    • auto checker uses the criteria to decide which algorithm is better to use against a regular expression, the algorithm based on automata theory or the fuzzing algorithm.
    • fuzz checker uses the fuzzing algorithm with static analysis.
    • automaton checker uses the algorithm based on automata theory. (default: Checker.Auto)
    crossoverSize

    The number of crossover on each generation. (default: 25)

    heatRatio

    The ratio of the number of characters read to the maximum number to be considered as a hot spot. (default: 0.001)

    incubationLimit

    The upper limit on the number of characters read by VM on incubation. (default: 25000)

    incubationTimeout

    The upper limit of matching time on incubation. (default: Duration(250, MILLISECONDS))

    logger

    The logger function to record execution traces. To disable the logging, null in TypeScript or None in Scala should be passed. (default: None)

    maxAttackStringSize

    The maximum length of the attack string on fuzzing. (default: 300000)

    maxDegree

    The maximum degree to be considered in fuzzing. (default: 4)

    maxGeneStringSize

    The maximum length of the gene string on fuzzing. (default: 2400)

    maxGenerationSize

    The maximum size of each generation on fuzzing. (default: 100)

    maxInitialGenerationSize

    The maximum size of the initial generation on fuzzing. (default: 500)

    maxIteration

    The maximum number of fuzzing iteration. (default: 10)

    maxNFASize

    The maximum size of NFA to determine which algorithm is used. (default: 35000)

    maxPatternSize

    The maximum size of the regular expression pattern to determine which algorithm is used. (default: 1500)

    maxRecallStringSize

    The maximum length of the attack string on recall validation. (default: 300000)

    maxRepeatCount

    The maximum number of sum of repetition quantifier’s repeat counts to determine which algorithm is used. (default: 30)

    maxSimpleRepeatCount

    The maximum number of each repetition quantifier’s repeat count on static seeding. (default: 30)

    mutationSize

    The number of mutation on each generation. (default: 50)

    randomSeed

    The PRNG seed number. (default: 0)

    recallLimit

    The upper limit on the number of characters read by VM on the recall validation. (default: 1500000000)

    recallTimeout

    The upper limit of matching time on the recall validation. If this value is negative, then the recall validation is skipped. (default: Duration(-1, SECONDS))

    seeder

    The type of seeder to be used in fuzzing. There are two seeders.

    • static seeder uses the seeding algorithm based on the automata theory.
    • dynamic seeder uses the seeding algorithm with dynamic analysis. (default: Seeder.Static)
    seedingLimit

    The upper limit on the number of characters read by VM on dynamic seeding. (default: 1000)

    seedingTimeout

    The upper limit of matching time on dynamic seeding. (default: Duration(100, MILLISECONDS))

    timeout

    The upper limit of checking time. If the checking time exceeds this limit, the result will be reported as timeout. If the value is positive infinite in Scala or null in TypeScript, the result never becomes timeout. The timeout time begins to be measured as soon as the check starts. Note that the timeout does not occur while the input is in the queue waiting to be checked. In TypeScript, a number value is treated as in milliseconds. (default: Duration(10, SECONDS))

  9. sealed abstract class ReDoSException extends Exception

    ReDoSException is a base exception class.

  10. sealed abstract class Seeder extends Product with Serializable

    Seeder is an enum values to specify a seeder to be used.

  11. final class TimeoutException extends ReDoSException

    TimeoutException is an exception thrown on timeout.

  12. final class UnexpectedException extends ReDoSException

    UnexpectedException is an exception thrown when unexpected error occurs.

  13. final class UnsupportedException extends ReDoSException

    UnsupportedException is an exception thrown when unsupported feature is detected.

Value Members

  1. object AccelerationMode extends Serializable
  2. object CancellationToken
  3. object Checker extends Serializable

    Checker types.

  4. object Context

    Context creators.

  5. object Parameters extends Serializable
  6. object Seeder extends Serializable

Ungrouped