Enhancing mirror adaptive random testing through dynamic partitioning