Publication | Closed Access
Debugging programs that use atomic blocks and transactional memory
28
Citations
23
References
2010
Year
Unknown Venue
EngineeringComputer ArchitectureSoftware EngineeringMemory Model (Programming)Software AnalysisFormal VerificationHardware SecurityStatic CheckingConcurrent ProgrammingComputer EngineeringComputer ScienceDebuggerStatic Program AnalysisResearch PrototypesProgram AnalysisSoftware TestingFormal MethodsAtomic BlockAtomic BlocksSystem SoftwareTransactional Memory
With the emergence of research prototypes, programming using atomic blocks and transactional memory (TM) is becoming more attractive. This paper describes our experience building and using a debugger for programs written with these abstractions. We introduce three approaches: (i) debugging at the level of atomic blocks, where the programmer is shielded from implementation details (such as exactly what kind of TM is used, or indeed whether lock inference is used instead), (ii) debugging at the level of transactions, where conflict rates, read sets, write sets, and other TM internals are visible, and (iii) debug-time transactions, which let the programmer manipulate synchronization from within the debugger - e.g., enlarging the scope of an atomic block to try to identify a bug.
| Year | Citations | |
|---|---|---|
Page 1
Page 1