``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

Postcript of the paper