Nothing Special   »   [go: up one dir, main page]

skip to main content
10.5555/2664446.2664473acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

The evolution of data races

Published: 02 June 2012 Publication History

Abstract

Concurrency bugs are notoriously difficult to find and fix. Several prior empirical studies have identified the prevalence and challenges of concurrency bugs in open source projects, and several existing tools can be used to identify concurrency errors such as data races. However, little is known about how concurrency bugs evolve over time. In this paper, we examine the evolution of data races by analyzing samples of the committed code in two open source projects over a multi-year period. Specifically, we identify how the data races in these programs change over time.

References

[1]
S. Adve. Data races are evil with no exceptions: Technical perspective. Communications of the ACM, 53:84--84, Nov. 2010.
[2]
Columba. http://columba.svn.sourceforge.net.
[3]
C. Flanagan and S. N. Freund. The RoadRunner dynamic analysis framework for concurrent programs. In Program Analysis for Software Tools and Engineering (PASTE), 2010.
[4]
jEdit. http://jedit.svn.sourceforge.net.
[5]
B. Kasikci, C. Zamfir, and G. Candea. Data races vs. data race bugs: telling the difference with portend. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2012.
[6]
S. Kim and M. Ernst. Which warnings should I fix first? In International Symposium on Foundations of Software Engineering (FSE), 2007.
[7]
B. Livshits and T. Zimmermann. DynaMine: Finding common error patterns by mining software revision histories. ACM SIGSOFT Software Engineering Notes, 30(5):296--305, 2005.
[8]
S. Lu, S. Park, E. Seo, and Y. Zhou. Learning from mistakes: A comprehensive study on real world concurrency bug characteristics. SIGPLAN Notices, 43(3):329--339, 2008.
[9]
M. D. Penta, L. Cerulo, and L. Aversano. The life and death of statically detected vulnerabilities: An empirical study. Information and Software Technology, 51(10):1469--1484, 2009.
[10]
C. Sadowski and S. Kurniawan. Heuristic evaluation of programming language features. In Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU), 2011.
[11]
W. Torres, G. Pinto, B. Fernandes, J. P. Oliveira, F. Ximenes, and F. Castor. Are Java programmers transitioning to multi-core? A large scale study of Java FLOSS. In Transitioning to MultiCore Workshop (TMC), 2011.
[12]
Z. Yin, D. Yuan, Y. Zhou, S. Pasupathy, and L. Bairavasundaram. How do fixes become bugs? In International Symposium on Foundations of Software Engineering (FSE), 2011.

Cited By

View all
  • (2016)Understanding and generating high quality patches for concurrency bugsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950309(715-726)Online publication date: 1-Nov-2016
  • (2015)What change history tells us about thread synchronizationProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2786815(426-438)Online publication date: 30-Aug-2015

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '12: Proceedings of the 9th IEEE Working Conference on Mining Software Repositories
June 2012
262 pages
ISBN:9781467317610

Sponsors

Publisher

IEEE Press

Publication History

Published: 02 June 2012

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '12
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Understanding and generating high quality patches for concurrency bugsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950309(715-726)Online publication date: 1-Nov-2016
  • (2015)What change history tells us about thread synchronizationProceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering10.1145/2786805.2786815(426-438)Online publication date: 30-Aug-2015

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