|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
|
 |
3
|
|
 |
4
|
|
| |
5
|
D. Beyer, A. J. Chlipala, T. A. Henzinger, R. Jhala, and R. Majumdar. The Blast query language for software verification. In R. Giacobazzi, editor, Static Analysis, 11th International Symposium, volume 3148 of Lecture Notes in Computer Science, pages 2--18, Verona, Italy, Aug. 2004. Springer-Verlag.
|
| |
6
|
Coverity, Inc. Coverity Prevent SQS, 2007. http://www.coverity.com/html/prod_prevent.html.
|
| |
7
|
|
| |
8
|
D. Cubranic and G. C. Murphy. Automatic bug triage using text categorization. In SEKE'04, pages 92--97, 2004.
|
| |
9
|
M. D'Ambros, M. Lanza, and M. Pinzger. "A Bug's Life" Visualizing a Bug Database. VISSOFT '07, pages 113--120, 24--25 June 2007.
|
| |
10
|
|
 |
11
|
Cormac Flanagan , Matthew Flatt , Shriram Krishnamurthi , Stephanie Weirich , Matthias Felleisen, Catching bugs in the web of program invariants, Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation, p.23-32, May 21-24, 1996, Philadelphia, Pennsylvania, United States
|
| |
12
|
Fortify Software Inc. Fortify Source Code Analysis, 2007. http://www.fortifysoftware.com/products/sca/.
|
 |
13
|
|
| |
14
|
GrammaTech, Inc. CodeSonar, 2007. http://www.grammatech.com/products/codesonar/overview.html.
|
 |
15
|
|
| |
16
|
|
 |
17
|
Seth Hallem , Benjamin Chelf , Yichen Xie , Dawson Engler, A system and language for building system-specific, static analyses, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
| |
18
|
Y. P. Khoo, J. S. Foster, M. Hicks, and V. Sazawal. Path Projection for User-Centered Static Analysis Tools. Technical Report CS-TR-4919, Department of Computer Science, University of Maryland, College Park, Aug. 2008.
|
| |
19
|
Klocwork Inc. Klocwork Enterprise Development Suite, 2007. http://www.klocwork.com.
|
 |
20
|
Ted Kremenek , Ken Ashcraft , Junfeng Yang , Dawson Engler, Correlation exploitation in error ranking, Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering, October 31-November 06, 2004, Newport Beach, CA, USA
|
| |
21
|
James R. Larus , Thomas Ball , Manuvir Das , Robert DeLine , Manuel Fahndrich , Jon Pincus , Sriram K. Rajamani , Ramanathan Venkatapathy, Righting Software, IEEE Software, v.21 n.3, p.92-100, May 2004
[doi> 10.1109/MS.2004.1293079]
|
 |
22
|
|
| |
23
|
J. Pincus. User Interaction Issues in Defect Detection Tools. Presentation at UW/MSR Research Summer Institute, 2001. http://research.microsoft.com/ users/jpincus/uwmsrsi01.ppt.
|
 |
24
|
|
| |
25
|
B. Pugh et al. FindBugs, 2007. http://findbugs.sourceforge.net.
|
| |
26
|
|
 |
27
|
Stefan Savage , Michael Burrows , Greg Nelson , Patrick Sobalvarro , Thomas Anderson, Eraser: a dynamic data race detector for multi-threaded programs, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.27-37, October 05-08, 1997, Saint Malo, France
|
| |
28
|
W. Scherlis et al. The Fluid Project, 2007. http://www.fluid.cs.cmu.edu:8080/Fluid.
|
| |
29
|
|
| |
30
|
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352--357, July 1984.
|
| |
31
|
J. Yang, J. Wells, P. Trinder, and G. Michaelson. Improved type error reporting, 2000.
|
|