Improved error reporting for software that uses black-box components

被引:8
作者
Ha, Jungwoo [1 ]
Rossbach, Christopher J. [1 ]
Davis, Jason V. [1 ]
Roy, Indrajit [1 ]
Ramadan, Hany E. [1 ]
Porter, Donald E. [1 ]
Chen, David L. [1 ]
Witchel, Emmett [1 ]
机构
[1] Univ Texas Austin, Dept Comp Sci, Austin, TX 78712 USA
关键词
documentation; management; reliability; software support; error report; profiling; classification; machine learning;
D O I
10.1145/1273442.1250747
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 programs and 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, LaTeX, and the Linux kernel. For a performance cost of less than 1% on user applications and 4.7% on the Linux kernel, the prototype 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 LaTeX 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.
引用
收藏
页码:101 / 111
页数:11
相关论文
共 40 条
  • [1] AGUILERA MK, 2003, SOSP BOLT LAND NY OC
  • [2] AMMONS G, 1997, PLDI 97 JUN, P4
  • [3] [Anonymous], PLDI
  • [4] [Anonymous], ICSE
  • [5] [Anonymous], 2004, OSDI
  • [6] [Anonymous], PLDI
  • [7] AYERS A, 2005, PLDI JUN
  • [8] Improvement of tool life through the use of two discrete feed rates during machining of 4140 steel
    Balazinski, M
    Mpako, C
    [J]. MACHINING SCIENCE AND TECHNOLOGY, 2000, 4 (01) : 1 - 13
  • [9] Ball T., 1996, MICRO
  • [10] BARRETT R, 2004, ACM CSCW COMP SUPP C