1. A system for generating SDN policies, the system comprising: a processor; a memory; and an SDN policy synthesizer (SPS) implemented using the processor and the memory, wherein the SPS is configured to receive scenario based information indicating one or more behaviors for at least one SDN policy, to execute, using the processor, a synthesis algorithm for generating the at least one SDN policy based on the scenario based information, and to provide, via an SDN communications interface, the at least one SDN policy to an SDN controller, wherein the synthesis algorithm generates the at least one SDN policy by deriving potential rules for the at least one SDN policy based on a number of possible reads and writes to at least one state table associated with the scenario based information, testing each of the potential rules using one or more concrete values to determine whether an outcome is consistent with the scenario based information; and selecting, from the potential rules, one or more rules that are consistent with the scenario based information for the at least one SDN policy.