Parallel assertions for debugging parallel programs

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 pr...

Full description

Saved in:
Bibliographic Details
Published in2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign pp. 181 - 190
Main Authors Schwartz-Narbonne, Daniel, Liu, Feng, Pondicherry, Tarun, August, David, Malik, Sharad
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.07.2011
Subjects
Online AccessGet full text
ISBN9781457701177
1457701170
DOI10.1109/MEMCOD.2011.5970525

Cover

Abstract 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 detectors to model-checkers and theorem provers. One technique that has been successful for debugging sequential programs, but less effective for parallel programs, is running the program using assertion predicates provided by the developer. These 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 introduce parallel assertions which allow programmers to express these assumptions for parallel programs using simple and intuitive syntax and semantics. We present a proof-of-concept implementation, and demonstrate its value by testing a number of benchmark programs using parallel assertions.
AbstractList 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 detectors to model-checkers and theorem provers. One technique that has been successful for debugging sequential programs, but less effective for parallel programs, is running the program using assertion predicates provided by the developer. These 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 introduce parallel assertions which allow programmers to express these assumptions for parallel programs using simple and intuitive syntax and semantics. We present a proof-of-concept implementation, and demonstrate its value by testing a number of benchmark programs using parallel assertions.
Author Schwartz-Narbonne, Daniel
Liu, Feng
August, David
Malik, Sharad
Pondicherry, Tarun
Author_xml – sequence: 1
  givenname: Daniel
  surname: Schwartz-Narbonne
  fullname: Schwartz-Narbonne, Daniel
  email: dstwo@princeton.edu
  organization: Princeton University
– sequence: 2
  givenname: Feng
  surname: Liu
  fullname: Liu, Feng
  email: fengliu@princeton.edu
  organization: Princeton University
– sequence: 3
  givenname: Tarun
  surname: Pondicherry
  fullname: Pondicherry, Tarun
  email: tpondich@princeton.edu
  organization: Princeton University
– sequence: 4
  givenname: David
  surname: August
  fullname: August, David
  email: august@princeton.edu
  organization: Princeton University
– sequence: 5
  givenname: Sharad
  surname: Malik
  fullname: Malik, Sharad
  email: sharad@princeton.edu
  organization: Princeton University
BookMark eNpVT8tOwzAQNAIkoOQLeskPJHhtrx9HFEpBalUOcK7cZB0FpUlklwN_TyTKgTnMaEa7I80duxrGgRhbAi8BuHvYrrbV7qkUHKBEZzgKvGCZMxYUGjOnVl3-88bcsCylTz5DaycNv2XyzUff99TnPiWKp24cUh7GmDd0-Grbbmjz6e9iimMb_THds-vg-0TZWRfs43n1Xr0Um936tXrcFB4MPxWNroWWITiOrjZgbbABUAlC0oBWKmcCIhxqtAqDaWYiD0IpMT96BXLBlr-9HRHtp9gdffzen6fKH45xSBg
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/MEMCOD.2011.5970525
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781457701184
1457701189
EndPage 190
ExternalDocumentID 5970525
Genre orig-research
GroupedDBID 6IE
6IF
6IK
6IL
6IN
AAJGR
AAWTH
ACM
ADFMO
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IEGSK
IERZE
LHSKQ
OCL
RIE
RIL
ID FETCH-LOGICAL-a170t-d6c263ff9059c7188f8f1542e5e61583497f551bc5845f7d45fea124426c2a413
IEDL.DBID RIE
ISBN 9781457701177
1457701170
IngestDate Wed Sep 03 07:04:09 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a170t-d6c263ff9059c7188f8f1542e5e61583497f551bc5845f7d45fea124426c2a413
PageCount 10
ParticipantIDs ieee_primary_5970525
PublicationCentury 2000
PublicationDate 2011-July
PublicationDateYYYYMMDD 2011-07-01
PublicationDate_xml – month: 07
  year: 2011
  text: 2011-July
PublicationDecade 2010
PublicationTitle 2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign
PublicationTitleAbbrev MEMCOD
PublicationYear 2011
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0000669370
Score 1.4908907
Snippet A parallel program must execute correctly even in the presence of unpredictable thread interleavings. This interleaving makes it hard to write correct parallel...
SourceID ieee
SourceType Publisher
StartPage 181
SubjectTerms Codes
Computer bugs
Debugging
Instruction sets
Interference
Safety
Semantics
Syntactics
Writing
Title Parallel assertions for debugging parallel programs
URI https://ieeexplore.ieee.org/document/5970525
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwED61nZgKtIi3MjDiPvJyPJdWFVKgA5W6VT4_GEBtVZKFX885cYNADCxREiWR4zj6Pp_v-w7gDhENTdg4C9FqFseRZDJVmmUxKgwx4aPQiZPzp3S-jB9XyaoF940WxhhTJZ-Zgdut1vL1VpUuVDYk8uvKrrWhTcOs1mo18RSCTkLaUaXdSjh3VmeNpZM_5t51aDwSw3yaT54fagtP_9gf9VUqeJl1IT80rM4qeRuUBQ7U5y_Pxv-2_Bj630K-YNFA1Am0zOYUuodKDoH_sXsQLeTeFVV5D2S1PO_GYkB0NtAGSxeTfg12hyt8RtdHH5az6ctkznw5BSapLwqmUxWmkbWCGJUiSMpsZolAhSYxRGuyKBbcEn9CRZwksVzTxkgH_yHdKAnszqCz2W7MOQQcxxqVyCxqFROBEqmwYyVUwlWaKRQX0HN9sN7Vjhlr__qXf5--gqM6UuuSYK-hU-xLc0NQX-Bt9Y2_AIU_pPY
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1NT4NAEJ3UetBT1db4LQeP0g9YWPZc21QttYc26a1h9sODpm0qXPz1zgLFaDx4IUCA7C6Q93Z23huAO0TUNGHjrodGuYz5iZuEUrkRQ4keBrzrWXFyPAlHc_a0CBY1uK-0MFrrPPlMt-1uvpav1jKzobIOkV9bdm0P9gn3WVCotaqICoEnYW03V28FnFuzs8rUqTzmpe9Qrys68SDuvzwUJp7lg39UWMkBZtiAeNe0Iq_krZ2l2Jafv1wb_9v2I2h9S_mcaQVSx1DTqxNo7Go5OOWv3QR_mmxtWZV3J8kX6O3X6BChdZTGzEalX53N7ooyp-ujBfPhYNYfuWVBBTehsUhdFUov9I0RxKkkgVJkIkMUytOBJmIT-UxwQwwKJbGSwHBFG51YAuDRjQnB3SnUV-uVPgOHY0-hFJFBJRlRKBEK05NCBlyGkURxDk07BstN4ZmxLLt_8ffpWzgYzeLxcvw4eb6EwyJua1Nir6CebjN9TcCf4k3-vr8AYE2oQw
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2011+9th+IEEE%2FACM+International+Conference+on+Formal+Methods+and+Models+for+Codesign&rft.atitle=Parallel+assertions+for+debugging+parallel+programs&rft.au=Schwartz-Narbonne%2C+Daniel&rft.au=Liu%2C+Feng&rft.au=Pondicherry%2C+Tarun&rft.au=August%2C+David&rft.date=2011-07-01&rft.pub=IEEE&rft.isbn=9781457701177&rft.spage=181&rft.epage=190&rft_id=info:doi/10.1109%2FMEMCOD.2011.5970525&rft.externalDocID=5970525
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781457701177/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781457701177/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781457701177/sc.gif&client=summon&freeimage=true