CsCheck icon indicating copy to clipboard operation
CsCheck copied to clipboard

Support for customizable/non-random search space traversal

Open AlgorithmsAreCool opened this issue 1 year ago • 2 comments

Howdy,

Currently CsCheck only supports the sealed PCG class for it's source of generation. But I would like to replace the PCG type with an interface or abstract class allowing the search pattern to be customized. Basically, I want to not use random search all the time.

AlgorithmsAreCool avatar Oct 19 '24 04:10 AlgorithmsAreCool

Hi, I'd need to check there's no performance impact. We currently don't have complete performance metrics and it would be good to add. How are you think of using a different RNG?

AnthonyLloyd avatar Oct 21 '24 09:10 AnthonyLloyd

My hunch is that there would be a small impact at least because of a move to virtual calls, but in practice i would expect the time spent evaluating the SUT would dominate the cost of the RNG or other traversal strategy.

How are you think of using a different RNG?

I'm actually not wanting to use an RNG at all, but something more like a space filling curve or other monotonic function for traversing the search space. The design of the interface might be too limited to actual enumerate dimensions for a SFC to work, but basically, something non-random.

AlgorithmsAreCool avatar Oct 22 '24 02:10 AlgorithmsAreCool