  Interactive visual analysis interfaces are critical in nearly every data
task. However, creating new interfaces is deeply challenging, as it requires
the developer to understand the queries needed to express the desired analysis
task, design the appropriate interface to express those queries for the task,
and implement the interface using a combination of visualization, browser,
server, and database technologies. Although prior work generates a set of
interactive widgets that can express an input query log, this paper presents
PI2, the first system to generate fully functional visual analysis interfaces
from an example sequence of analysis queries. PI2 analyzes queries
syntactically and represents a set of queries using a novel Difftree structure
that encodes systematic variations between query abstract syntax trees. PI2
then maps each Difftree to a visualization that renders its results, the
variations in each Difftree to interactions, and generates a good layout for
the interface. We show that PI2 can express data-oriented interactions in
existing visualization interaction taxonomies, reproduce or improve several
real-world visual analysis interfaces, generate interfaces in 2-19s (median
6s), and scale linearly with the number of queries.
