1. A computer-implemented method of determining system configurations, comprising: receiving one or more initial configuration constraints related to a system; identifying a relationship between the one or more initial configuration constraints; determining at least one variable configuration constraint related to the system based at least in part on the identified relationship between the one or more initial configuration constraints; determining a set of configurations for the system based at least in part on the one or more initial configuration constraints and the at least one variable configuration constraint; generating a set of testing results by at least testing the validity of one or more configurations in the set of configurations; generating, based at least in part on the testing results, a model that defines at least one of the one or more initial configuration constraints and the at least one variable configuration constraint; determining, based at least in part on the generated model, an updated set of configurations that are valid based at least in part on the one or more initial configuration constraints and the at least one variable configuration constraint; and providing the updated set of configurations for testing the system.