The research and industrial communities have made
great strides in developing sophisticated defect detection tools
based on static analysis. To date most of the work in this
area has focused on developing novel static analysis
algorithms, but has neglected study of other aspects of static
analysis tools, particularly user interfaces. In this work,
we present a novel user interface toolkit called Path Projection
that helps users visualize, navigate, and understand program paths,
a common component of many tools' error reports.
We performed a controlled user study to measure the benefit of Path
Projection in triaging error reports from Locksmith, a data race
detection tool for C. We found that Path Projection improved
participants' time to complete this task without affecting
accuracy, while participants felt Path Projection was useful and
strongly preferred it to a more standard viewer.