kirancodes.me
To Proof Maintenance & Beyond!

Performance debugging in the large via mining millions of stack traces

Shi Han, Yingnong Dang, Song Ge, Dongmei Zhang, Tao Xie

Abstract

Given limited resource and time before software release, development-site testing and debugging become more and more insufficient to ensure satisfactory software performance. As a counterpart for debugging in the large pioneered by the Microsoft Windows Error Reporting (WER) system focusing on crashing/hanging bugs, performance debugging in the large has emerged thanks to available infrastructure support to collect execution traces with performance issues from a huge number of users at the deployment sites. However, performance debugging against these numerous and complex traces remains a significant challenge for performance analysts. In this paper, to enable performance debugging in the large in practice, we propose a novel approach, called StackMine, that mines callstack traces to help performance analysts effectively discover highly impactful performance bugs (e.g., bugs impacting many users with long response delay). As a successful technology-transfer effort, since December 2010, StackMine has been applied in performance-debugging activities at a Microsoft team for performance analysis, especially for a large number of execution traces. Based on real-adoption experiences of StackMine in practice, we conducted an evaluation of StackMine on performance debugging in the large for Microsoft Windows 7. We also conducted another evaluation on a third-party application. The results highlight substantial benefits offered by StackMine in performance debugging in the large for large-scale software systems.

BibTeX
@inproceedings{Han-al:ICSE12,
  author    = {Shi Han and
               Yingnong Dang and
               Song Ge and
               Dongmei Zhang and
               Tao Xie},
  title     = {Performance debugging in the large via mining millions of stack traces},
  booktitle = {ICSE},
  pages     = {145--155},
  publisher = {{IEEE} Computer Society},
  year      = {2012},
}

Related papers