ACM Home Page
Please provide us with feedback. Feedback
Improved error reporting for software that uses black-box components
Full text PdfPdf (345 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation table of contents
San Diego, California, USA
SESSION: Programs analyzed table of contents
Pages: 101 - 111  
Year of Publication: 2007
ISBN:978-1-59593-633-2
Also published in ...
Authors
Jungwoo Ha  The University of Texas at Austin, Austin, TX
Christopher J. Rossbach  The University of Texas at Austin, Austin, TX
Jason V. Davis  The University of Texas at Austin, Austin, TX
Indrajit Roy  The University of Texas at Austin, Austin, TX
Hany E. Ramadan  The University of Texas at Austin, Austin, TX
Donald E. Porter  The University of Texas at Austin, Austin, TX
David L. Chen  The University of Texas at Austin, Austin, TX
Emmett Witchel  The University of Texas at Austin, Austin, TX
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 103,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1250734.1250747
What is a DOI?

ABSTRACT

An error occurs when software cannot complete a requested action as a result of some problem with its input, configuration, or environment. A high-quality error report allows a user to understand and correct the problem. Unfortunately, the quality of error reports has been decreasing as software becomes more complex and layered. End-users take the cryptic error messages given to them by programsand struggle to fix their problems using search engines and support websites. Developers cannot improve their error messages when they receive an ambiguous or otherwise insufficient error indicator from a black-box software component.

We introduce Clarify, a system that improves error reporting by classifying application behavior. Clarify uses minimally invasive monitoring to generate a behavior profile, which is a summary of the program's execution history. A machine learning classifier uses the behavior profile to classify the application's behavior, thereby enabling a more precise error report than the output of the application itself.

We evaluate a prototype Clarify system on ambiguous error messages generated by large, modern applications like gcc, La-TeX, and the Linux kernel. For a performance cost of less than 1% on user applications and 4.7% on the Linux kernel, the proto type correctly disambiguates at least 85% of application behaviors that result in ambiguous error reports. This accuracy does not degrade significantly with more behaviors: a Clarify classifier for 81 La-TeX error messages is at most 2.5% less accurate than a classifier for 27 LaTeX error messages. Finally, we show that without any human effort to build a classifier, Clarify can provide nearest-neighbor software support, where users who experience a problem are told about 5 other users who might have had the same problem. On average 2.3 of the 5 users that Clarify identifies have experienced the same problem.


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
6
 
7
J. Berkman. Bug-buddy -- GNOME bug-reporting utility, 2004. http://directory.fsf.org/All_Packages_in_Directory/bugbuddy.html.
8
 
9
Justin Brickell, Donald E. Porter, Vitaly Shmatikov, and Emmett Witchel. Secure remote software diagnostics, Under review.
 
10
 
11
 
12
 
13
Bryan Cantrill and Mike Shapiro and Adam Leventhal. Dtrace, 2006. http://www.genunix.org/wiki/index.php/DTrace_FAQ.
14
 
15
Latex Error Classes. http://www.cs.utexas.edu/users/habals/clarify/latex_errors.html, 2006.
 
16
Microsoft corporation. Privacy statement for the microsoft error reporting service, 2006.
 
17
Microsoft corporation. Reporting and solving computer problems, 2006.
 
18
Microsoft Corporation. What information is sent to Microsoft when I report a problem?, 2006.
 
19
Jason V. Davis, Jungwoo Ha, Christopher J. Rossbach, Hany E. Ramadan, and Emmett Witchel. Cost-sensitive decision tree learning for forensic classification. In ECML, 2006.
20
 
21
M. J. Harrold, G. Rothermel, K. Sayre, R. Wu, and L. Yi. An empirical investigation of the relationship between fault-revealing test behavior and differences in program spectra. In Journal of Software Testing, Verification and Reliability, vol 10, no 3, 2000.
 
22
J. Humphreys and V. Turner. On-demand enterprises and utility computing: A current market assessment and outlook. Technical report, IDC, Jul 2004.
 
23
 
24
Jim Keniston and Prasanna S Panchamukhi. Kernel Probes (Kprobes),2006. Documentation/kprobes.txt.
 
25
26
27
 
28
C. Liu, X. Yang, H.Yu, J. Han, and P. S. Yu. Mining behavior graphs for "backtrace" of noncrashing bugs. In Proc. of 2005 SIAM Int. Conf. on Data Mining (SDM05), 2005.
 
29
Microsoft Corporation. Dr. Watson Overview, 2002. http://www.microsoft.com/TechNet/prodtechnol/winxppro/proddocs/drwatson_overview.asp.
 
30
Microsoft Corporation. Online Crash Analysis, 2004. http://oca.microsoft.com/.
 
31
 
32
33
 
34
Rubber. http://www.pps.jussieu.fr/_beffara/soft/rubber, 2007.
35
 
36
 
37
 
38
 
39
 
40
C. Yuan, N. Lao, J. Wen, J. Li, Z. Zhang, Y. Wang, and W. Ma. Automated known problem diagnosis with event traces. MSR-TR-2005--81, 2005.
41
42

CITED BY  8

Collaborative Colleagues:
Jungwoo Ha: colleagues
Christopher J. Rossbach: colleagues
Jason V. Davis: colleagues
Indrajit Roy: colleagues
Hany E. Ramadan: colleagues
Donald E. Porter: colleagues
David L. Chen: colleagues
Emmett Witchel: colleagues