• DocumentCode
    1933804
  • Title

    Data provenance tracking for concurrent programs

  • Author

    Lucia, Brandon ; Ceze, Luis

  • fYear
    2015
  • fDate
    7-11 Feb. 2015
  • Firstpage
    146
  • Lastpage
    156
  • Abstract
    We propose Last Writer Slicing (LWS), a mechanism for tracking data provenance information in multithreaded code in a production setting. Last writer slices dynamically track provenance of values by recording the thread and operation that last wrote each variable. We show that this information complements core dumps and greatly improves debugability. We also propose communication traps (CTraps), an extensible framework that uses LWS to interpose on operations that lead to inter-thread communication. We show how to use CTraps to implement multiple dynamic analysis tools for mulithreaded programs. Our evaluation on server programs and PARSEC benchmarks shows that LWS has low run time overheads (0-15%) for many applications, including mem-cached, LevelDB, MySQL, and Apache. Our debugging case studies of real, buggy programs shows that LWS are indeed useful for debugging.
  • Keywords
    multi-threading; program debugging; source code (software); system monitoring; Apache; CTraps; LevelDB; MySQL; PARSEC benchmarks; communication traps; concurrent programs; data provenance information tracking; debugability improvement; interthread communication; last writer slicing; mem-cached; mulithreaded programs; multiple dynamic analysis tools; multithreaded code; server programs; Computer bugs; Concurrent computing; Core dumps; Debugging; Instruction sets; Production; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2015 IEEE/ACM International Symposium on
  • Conference_Location
    San Francisco, CA
  • Type

    conf

  • DOI
    10.1109/CGO.2015.7054195
  • Filename
    7054195