skip to main content
10.1145/2851613.2851967acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Characterizing non-deadlock concurrency bug fixes in open-source Java programs

Authors Info & Claims
Published:04 April 2016Publication History

ABSTRACT

Fixing a non-deadlock concurrency bug is a difficult job that sometimes introduces additional bugs and requires a long time. To overcome this difficulty and efficiently perform fixing jobs, engineers should have broad knowledge of various fix patterns, and the ability to select the most proper one among those patterns based on quantitative data gathered from real-world bug databases. In this paper, we provide a real-world characteristic study on the fixes of non-deadlock concurrency bugs to help engineers responsible for program maintenance. In particular, we examine various fix patterns and the factors that influence the selection of those patterns with respect to the preexistence of locks and failure types. Our results will provide useful information for engineers who write bug patches, and researchers who study efficient testing and fixing techniques.

References

  1. A. Zeller, Why Programs Fail, Second Edition: A Guide to Systematic Debugging, 2nd ed. San Francisco, CA, USA: Morgan Kaufmann Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Shan Lu, et al. 2008. Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In Proceedings of the 13th international conference on Architectural support for programming languages and operating systems (ASPLOS XIII). ACM, New York, NY, USA, 329--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Zuoning Yin et al. 2011. How do fixes become bugs?. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering (ESEC/FSE '11). ACM, New York, NY, USA, 26--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. M. Islam and A. Muzahid. 2013. Characterizing real world bugs causing sequential consistency violations. In Presented as part of the 5th USENIX Workshop on Hot Topics in Parallelism. USENIX, Berkeley, CA, USA.Google ScholarGoogle Scholar
  5. Baishakhi Ray et al. 2014. A large scale study of programming languages and code quality in github. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE '14). ACM, New York, NY, USA, 155--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Fonseca, C. Li, V. Singhal, and R. Rodrigues. 2010. A study of the internal and external effects of concurrency bugs. In Proceedings of 2010 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN '10). 221--230.Google ScholarGoogle Scholar
  7. Konstantin Serebryany and Timur Iskhodzhanov. 2009. ThreadSanitizer: data race detection in practice. In Proceedings of the Workshop on Binary Instrumentation and Applications (WBIA '09). ACM, New York, NY, USA, 62--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Mohsen Vakilian et al. 2011. Keshmesh: a tool for detecting and fixing java concurrency bug patterns. In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (OOPSLA '11). ACM, New York, NY, USA, 39--40. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Characterizing non-deadlock concurrency bug fixes in open-source Java programs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SAC '16: Proceedings of the 31st Annual ACM Symposium on Applied Computing
      April 2016
      2360 pages
      ISBN:9781450337397
      DOI:10.1145/2851613

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 4 April 2016

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      SAC '16 Paper Acceptance Rate252of1,047submissions,24%Overall Acceptance Rate1,650of6,669submissions,25%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader