When managing wide-area networks, network architects must decide how to
balance multiple conflicting metrics, and ensure fair allocations to competing
traffic while prioritizing critical traffic. The state of practice poses
challenges since architects must precisely encode their intent into formal
optimization models using abstract notions such as utility functions, and
ad-hoc manually tuned knobs. In this paper, we present the first effort to
synthesize optimal network designs with indeterminate objectives using an
interactive program-synthesis-based approach. We make three contributions.
First, we present comparative synthesis, an interactive synthesis framework
which produces near-optimal programs (network designs) through two kinds of
queries (Propose and Compare), without an objective explicitly given. Second,
we develop the first learning algorithm for comparative synthesis in which a
voting-guided learner picks the most informative query in each iteration. We
present theoretical analysis of the convergence rate of the algorithm. Third,
we implemented Net10Q, a system based on our approach, and demonstrate its
effectiveness on four real-world network case studies using black-box oracles
and simulation experiments, as well as a pilot user study comprising network
researchers and practitioners. Both theoretical and experimental results show
the promise of our approach