• DocumentCode
    3129936
  • Title

    iWatcher: efficient architectural support for software debugging

  • Author

    Zhou, Pin ; Qin, Feng ; Liu, Wei ; Zhou, Yuanyuan ; Torrellas, Josep

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2004
  • fDate
    19-23 June 2004
  • Firstpage
    224
  • Lastpage
    235
  • Abstract
    Recent impressive performance improvements in computer architecture have not led to significant gains in ease of debugging. Software debugging often relies on inserting run-time software checks. In many cases, however, it is hard to find the root cause of a bug. Moreover, program execution typically slows down significantly, often by 10-100 times. To address this problem, this paper introduces the Intelligent Watcher (iWatcher), novel architectural support to monitor dynamic execution with minimal overhead, automatically, and flexibly. iWatcher associates program-specified monitoring functions with memory locations. When any such location is accessed, the monitoring function is automatically triggered with low overhead. To further reduce overhead and support rollback, iWatcher can leverage Thread-Level Speculation (TLS). To test iWatcher, we use applications with various bugs. Our results show that iWatcher detects many more software bugs than Valgrind, a well-known open-source bug detector. Moreover, iWatcher only induces a 4-80% execution overhead, which is orders of magnitude less than Valgrind. Even with 20% of the dynamic loads monitored in a program, iWatcher adds only 66-174% overhead. Finally, TLS is effective at reducing overheads for programs with substantial monitoring.
  • Keywords
    computer architecture; multi-threading; program debugging; program testing; software performance evaluation; system monitoring; Intelligent Watcher; architectural support; computer architecture; dynamic execution; dynamic load monitoing; execution overhead; iWatcher; memory locations; monitoring function; program execution; program-specified monitoring functions; run-time software checks; software bug detection; software debugging; thread-level speculation; Application software; Computer architecture; Computer bugs; Computerized monitoring; Detectors; Open source software; Performance gain; Runtime; Software debugging; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2004. Proceedings. 31st Annual International Symposium on
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-2143-6
  • Type

    conf

  • DOI
    10.1109/ISCA.2004.1310777
  • Filename
    1310777