Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
poster

Concurrency bug localization using shared memory access pairs

Published: 06 February 2014 Publication History

Abstract

Non-determinism in concurrent programs makes their debugging much more challenging than that in sequential programs. To mitigate such difficulties, we propose a new technique to automatically locate buggy shared memory accesses that triggered concurrency bugs. Compared to existing fault localization techniques that are based on empirical statistical approaches, this technique has two advantages. First, as long as enough successful runs of a concurrent program are collected, the proposed technique can locate buggy memory accesses to the shared data even with only one single failed run captured, as opposed to the need of capturing multiple failed runs in other statistical approaches. Second, the proposed technique is more precise because it considers memory accesses in those failed runs that terminate prematurely.

References

[1]
S. Lu, S. Park, E. Seo, and Y. Zhou. Learning from mistakes -- a comprehensive study on real world concurrency bug characteristics. In ASPLOS, 2008.
[2]
S. Park, R. W. Vuduc, and M. J. Harrold. Falcon: Fault localization in concurrent programs. In ICSE, 2010.
[3]
A. Muzahid, N. Otsuki, and J. Torrellas. AtomTracker: A comprehensive approach to atomic region inference and violation detection. In MICRO, 2010.
[4]
J. Yu, S. Narayanasamy, C. Pereira, and G. Pokam. Maple: A converage-driven testing tool for multithreaded programs. In OOPSLA, 2012.

Index Terms

  1. Concurrency bug localization using shared memory access pairs

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 49, Issue 8
    PPoPP '14
    August 2014
    390 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/2692916
    Issue’s Table of Contents
    • cover image ACM Conferences
      PPoPP '14: Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
      February 2014
      412 pages
      ISBN:9781450326568
      DOI:10.1145/2555243
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 06 February 2014
    Published in SIGPLAN Volume 49, Issue 8

    Check for updates

    Author Tags

    1. bug scenario
    2. concurrency bug localization
    3. shared memory access pair
    4. test procedure

    Qualifiers

    • Poster

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)15
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 10 Nov 2024

    Other Metrics

    Citations

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media