class

Krikri::DifferentialFuzz::Shrinker

Inherits Reference < Object

Greedy subtree shrinker: repeatedly tries collapsing each subtree to one of its direct children or a minimal literal, keeping any change that reproduces the SAME disagreement signature. Bounded trials so a stubborn case can't spin.

Constants

MINIMAL_LITERALS = [Literal.new(JSON::Any.new(0_i64)), Literal.new(JSON::Any.new(1_i64)), Literal.new(JSON::Any.new("x")), Literal.new(JSON::Any.new(true)), Literal.new(JSON::Any.new(nil))] of Node

Constructors

new(runner : Runner, max_trials : Int32 = 600)
Source

Instance methods

shrink(node : Node, signature : String) : Node
Source