• DocumentCode
    177346
  • Title

    Replay debugging: Leveraging record and replay for program debugging

  • Author

    Honarmand, Nima ; Torrellas, Josep

  • Author_Institution
    Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2014
  • fDate
    14-18 June 2014
  • Firstpage
    455
  • Lastpage
    456
  • Abstract
    Hardware-assisted Record and Deterministic Replay (RnR) of programs has been proposed as a primitive for debugging hard-to-repeat software bugs. However, simply providing support for repeatedly stumbling on the same bug does not help diagnose it. For bug diagnosis, developers typically want to modify the code, e.g., by creating and operating on new variables, or printing state. Unfortunately, this renders the RnR log inconsistent and makes Replay Debugging (i.e., debugging while using an RnR log for replay) dicey at best. This paper presents rdb, the first scheme for replay debugging that guarantees exact replay. rdb relies on two mechanisms. The first one is compiler support to split the instrumented application into two executables: one that is identical to the original program binary, and another that encapsulates all the added debug code. The second mechanism is a runtime infrastructure that replays the application and, without affecting it in any way, invokes the appropriate debug code at the appropriate locations. We describe an implementation of rdb based on LLVM and Pin, and show an example of how rdb´s replay debugging helps diagnose a real bug.
  • Keywords
    data flow analysis; program compilers; program debugging; bug diagnosis; compiler support; hard-to-repeat software bugs; hardware-assisted deterministic replay; hardware-assisted record replay; program debugging; replay debugging; runtime infrastructure; Algorithms; Computer bugs; Data structures; Debugging; Hardware; Program processors; Runtime library;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture (ISCA), 2014 ACM/IEEE 41st International Symposium on
  • Conference_Location
    Minneapolis, MN
  • Print_ISBN
    978-1-4799-4396-8
  • Type

    conf

  • DOI
    10.1109/ISCA.2014.6853229
  • Filename
    6853229