iWatcher: Efficient architectural support for software debugging

被引:0
|
作者
Zhou, P [1 ]
Qin, F [1 ]
Liu, W [1 ]
Zhou, YY [1 ]
Torrellas, J [1 ]
机构
[1] Univ Illinois, Dept Comp Sci, Champaign, IL 61820 USA
来源
31ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS | 2004年
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 opensource 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.
引用
收藏
页码:224 / 235
页数:12
相关论文
共 50 条
  • [31] An architectural model to support adaptive software systems for sensor networks
    Kim, HC
    Choi, HJ
    Ko, IY
    11TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2004, : 670 - 677
  • [32] Architectural Support for Task Dependence Management with Flexible Software Scheduling
    Castillo, Emilio
    Alvarez, Lluc
    Moreto, Miquel
    Casas, Marc
    Vallejo, Enrique
    Luis Bosque, Jose
    Beivide, Ramon
    Valero, Mateo
    2018 24TH IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2018, : 283 - 295
  • [33] Software architectural support for disconnected operation in highly distributed environments
    Mikic-Rakic, M
    Medvidovic, N
    COMPONENT-BASED SOFTWARE ENGINEERING, 2004, 3054 : 23 - 39
  • [34] Architectural support for system software on large-scale clusters
    Fernández, J
    Frachtenberg, E
    Petrini, F
    Davis, K
    Sancho, JC
    2004 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDINGS, 2004, : 519 - 528
  • [35] Efficient Oblivious Substring Search via Architectural Support
    Mainardi, Nicholas
    Sampietro, Davide
    Barenghi, Alessandro
    Pelosi, Gerardo
    36TH ANNUAL COMPUTER SECURITY APPLICATIONS CONFERENCE (ACSAC 2020), 2020, : 526 - 541
  • [36] On fuzzy debugging of software programs
    Zeephongsekul, P
    Xia, G
    FUZZY SETS AND SYSTEMS, 1996, 83 (02) : 239 - 247
  • [37] LOGICAL ANSWERS TO SOFTWARE DEBUGGING
    BRAMPTON, J
    ELECTRONICS AND POWER, 1984, 30 (02): : 155 - 156
  • [38] Debugging software with animated graphics
    Horn, D
    Scrip, B
    Scrip, B
    MODELING, SIMULATION, AND VISUALIZATION OF SENSORY RESPONSE FOR DEFENSE APPLICATIONS, 1997, 3085 : 72 - 79
  • [39] Debugging Software's Schemas
    Osenga, Kristen
    GEORGE WASHINGTON LAW REVIEW, 2014, 82 (06) : 1832 - 1857
  • [40] Software debugging, testing, and verification
    Hailpern, B
    Santhanam, P
    IBM SYSTEMS JOURNAL, 2002, 41 (01) : 4 - 12