package common
- Alphabetic
- Public
- Protected
Type Members
- sealed abstract class AccelerationMode extends Product with Serializable
AccelerationMode is an enum to specify a mode of acceleration of VM execution on fuzzing.
- final class CancelException extends ReDoSException
TimeoutException is an exception thrown on canceled.
- final class CancellationToken extends AnyRef
CancellationToken is a token to cancel a process.
- final class CancellationTokenSource extends AnyRef
CancellationTokenSource is a source of a cancellation token.
- sealed abstract class Checker extends Product with Serializable
Checker is an enum values to specify a checker to be used.
- 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.
- final class InvalidRegExpException extends ReDoSException
InvalidRegExpException is an exception thrown when regexp is invalid.
- 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.
autouses acceleration mode as default. However, if the regular expression has backreferences, it turns off the acceleration mode.onturns on the acceleration mode.offturns 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.
autochecker 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.fuzzchecker uses the fuzzing algorithm with static analysis.automatonchecker 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,
nullin TypeScript orNonein 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
staticseeding. (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.
staticseeder uses the seeding algorithm based on the automata theory.dynamicseeder uses the seeding algorithm with dynamic analysis. (default:Seeder.Static)
- seedingLimit
The upper limit on the number of characters read by VM on
dynamicseeding. (default:1000)- seedingTimeout
The upper limit of matching time on
dynamicseeding. (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 ornullin TypeScript, the result never becomestimeout. Thetimeouttime begins to be measured as soon as the check starts. Note that thetimeoutdoes 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))
- sealed abstract class ReDoSException extends Exception
ReDoSException is a base exception class.
- sealed abstract class Seeder extends Product with Serializable
Seeder is an enum values to specify a seeder to be used.
- final class TimeoutException extends ReDoSException
TimeoutException is an exception thrown on timeout.
- final class UnexpectedException extends ReDoSException
UnexpectedException is an exception thrown when unexpected error occurs.
- final class UnsupportedException extends ReDoSException
UnsupportedException is an exception thrown when unsupported feature is detected.
Value Members
- object AccelerationMode extends Serializable
- object CancellationToken
- object Checker extends Serializable
Checker types.
- object Context
Context creators.
- object Parameters extends Serializable
- object Seeder extends Serializable