``An Empirical Study of Constraint Usage in Graphical Applications''
Bradley T. Vander Zanden
and Scott Venckus
1996 ACM SIGGRAPH Symposium on User Interface Software
and Technology, Seattle, WA, November, 1996, pp. 137-146.
Available via anonymous ftp to cs.utk.edu in
pub/bvz/papers/uist96.ps.Z.
Abstract
One-way constraints have been widely incorporated in research toolkits
for constructing graphical applications. However, although a number of
studies have examined the performance of these
toolkits' constraint satisfaction algorithms,
there have not been any empirical studies that have
examined how programmers use constraints in actual applications.
This paper reports the results of a study
intended to address these matters. Seven graphical applications were chosen
for their diversity and profiling information was gathered about their
use of constraints. The data reveal that constraint networks tend to
be modular, that is, divided into a number of small, independent sets
of constraints rather than one monolithic set of constraints. This finding
suggests that constraint satisfaction algorithms should be able to
resatisfy constraints rapidly after a change to one or more variables.
It also suggests that debugging constraints should not be unduly burdensome
on a programmer since the number of constraints that must be examined
to find the source of an error is not terribly large. Overall,
the results of this study should provide
a repository of data that will be useful in directing future
research on optimizing constraint solvers and developing effective
debugging techniques.
keywords: one-way constraints, graphical applications, optimization,
debugging, toolkits, profiling