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 条
  • [41] A DEVICE FOR DEBUGGING MICROCOMPUTER SOFTWARE
    LOLEIT, AT
    TELECOMMUNICATIONS AND RADIO ENGINEERING, 1983, 37-8 (01) : 73 - 76
  • [42] Software dependability and imperfect debugging
    Singh, K. P.
    Sharma, S. C.
    Bae, S. J.
    JOURNAL OF STATISTICS & MANAGEMENT SYSTEMS, 2008, 11 (03): : 469 - 485
  • [43] Simultaneous debugging of software faults
    Abreu, Rui
    Zoeteweij, Peter
    van Gemund, Arjan J. C.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2011, 84 (04) : 573 - 586
  • [44] Testing and debugging of distributed software
    Cunha, JC
    Krawczyk, H
    COMPUTERS AND ARTIFICIAL INTELLIGENCE, 2000, 19 (06): : 495 - 510
  • [45] Architectural extensions to support efficient communication using message prediction
    Afsahi, A
    Dimopoulos, NJ
    16TH ANNUAL INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS AND APPLICATIONS, PROCEEDINGS, 2002, : 20 - 27
  • [46] Architectural Support for Efficient Large-Scale Automata Processing
    Liu, Hongyuan
    Ibrahim, Mohamed
    Kayiran, Onur
    Pai, Sreepathi
    Jog, Adwait
    2018 51ST ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2018, : 908 - 920
  • [47] HARDWARE SUPPORT FOR EFFICIENT TESTING OF EMBEDDED SOFTWARE
    Reinbacher, Thomas
    Steininger, Andreas
    Mueller, Tobias
    Horauer, Martin
    Brauer, Joerg
    Kowalewski, Stefan
    PROCEEDINGS OF THE ASME INTERNATIONAL DESIGN ENGINEERING TECHNICAL CONFERENCES AND COMPUTERS AND INFORMATION IN ENGINEERING CONFERENCE, 2011, VOL 3, PTS A AND B, 2012, : 3 - 12
  • [48] Evaluation of software availability for the imperfect software debugging model
    Lee, CH
    Lee, SM
    Park, DH
    INTERNATIONAL JOURNAL OF SYSTEMS SCIENCE, 2005, 36 (11) : 671 - 678
  • [49] XPC: Architectural Support for Secure and Efficient Cross Process Call
    Du, Dong
    Hua, Zhichao
    Xia, Yubin
    Zang, Binyu
    Chen, Haibo
    PROCEEDINGS OF THE 2019 46TH INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA '19), 2019, : 671 - 684
  • [50] Architectural Support for Efficient Data Movement in Fully Disaggregated Systems
    Giannoula C.
    Huang K.
    Tang J.
    Koziris N.
    Goumas G.
    Chishti Z.
    Vijaykumar N.
    Performance Evaluation Review, 2023, 51 (01): : 5 - 6