Взгляните на Java Pathfinder (от НАСА, тем не менее - и он бесплатный). Я думаю, что он должен делать то, что вам нужно почти из коробки, то есть пробовать разные чередования (может потребоваться некоторая сборка).
Конечно, вам все равно нужно указать свойство проверки ваших данных, которое вас интересует, например, инвариант. В противном случае по умолчанию он, вероятно, сообщит вам только о наличии тупика. Взгляните на раздел «Изучите варианты исполнения».