• DocumentCode
    2550367
  • Title

    Parallel assertions for debugging parallel programs

  • Author

    Schwartz-Narbonne, Daniel ; Liu, Feng ; Pondicherry, Tarun ; August, David ; Malik, Sharad

  • Author_Institution
    Princeton Univ., Princeton, NJ, USA
  • fYear
    2011
  • fDate
    11-13 July 2011
  • Firstpage
    181
  • Lastpage
    190
  • 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.
  • Keywords
    multi-threading; program debugging; program verification; theorem proving; atomicity-violation; data-race detectors; model-checkers; multithreaded program; parallel assertions; parallel program debugging; sequential program debugging; theorem provers; unpredictable thread interleavings;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Formal Methods and Models for Codesign (MEMOCODE), 2011 9th IEEE/ACM International Conference on
  • Conference_Location
    Cambridge
  • Print_ISBN
    978-1-4577-0117-7
  • Electronic_ISBN
    978-1-4577-0118-4
  • Type

    conf

  • DOI
    10.1109/MEMCOD.2011.5970525
  • Filename
    5970525