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
Link To Document