BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Parallel Assertions for Debugging Parallel Programs - Daniel Schwa
 rtz-Narbonne\, Princeton University
DTSTART:20110708T130000Z
DTEND:20110708T140000Z
UID:TALK31653@talks.cam.ac.uk
CONTACT:Bjarki Holm
DESCRIPTION:A parallel program must execute correctly even in the presence
  of unpredictable thread interleavings. This interleaving makes it hard to
  write correct parallel programs\, and also makes it hard to find bugs in 
 incorrect parallel programs. A range of tools have been developed to help 
 debug parallel programs\, ranging from atomicity-violation and data-race d
 etectors to model-checkers and theorem provers. One technique that has bee
 n successful for debugging sequential programs\, but less effective for pa
 rallel programs\, is running the program using assertion predicates provid
 ed by the developer.\n\nThese assertions allow programmers to specify and 
 check their assumptions. In a multi-threaded program\, the programmer’s 
 assumptions include both the current state\, and any actions (e.g. access 
 to shared memory) that other\, parallel executing threads might take. We i
 ntroduce parallel assertions which allow programmers to express these assu
 mptions for parallel programs using simple and intuitive syntax and semant
 ics. We present a proof-of-concept implementation\, and demonstrate its va
 lue by testing a number of benchmark programs using parallel assertions.\n
 \n\n
LOCATION:Room FW11\, Computer Laboratory\, William Gates Building
END:VEVENT
END:VCALENDAR
