skip to main content
10.1145/2846680.2846687acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

A study on the most popular questions about concurrent programming

Published: 26 October 2015 Publication History

Abstract

Concurrent programming is notably known as a hard discipline. Over the last few years, great strides have been made in improving concurrent programming abstractions, techniques, and tools to ease concurrent programming practice. However, little effort has been placed on assessing what are the real-world problems faced by developers when writing concurrent applications. In this paper, we describe an empirical investigation of the top-250 most popular questions about concurrent programming on StackOverflow. We observed that even though some questions (22.94%) are related to practical problems (e.g., “how to fix this concurrency bug”), most of them (66.23%) are related to basic concepts (e.g., “what is a mutex?”), which were created by well- experienced StackOverflow users. Curiously, we did not find any question about how to use concurrent programming techniques to improve application performance.

References

[1]
A. Barua, S. Thomas, and A. Hassan. What are developers talking about? an analysis of topics and trends in stack overflow. EMSE, 2012.
[2]
T. David, R. Guerraoui, and V. Trigonakis. Everything you always wanted to know about synchronization but were afraid to ask. In SOSP, 2013.
[3]
J. Fereday and E. Muir-Cochrane. Demonstrating rigor using thematic analysis: A hybrid approach of inductive and deductive coding and theme development. International Journal of Qualitative, 5, 2006.
[4]
P. Fleming and J. Wallace. How not to lie with statistics: The correct way to summarize benchmark results. Commun. ACM, 29(3):218–221, Mar. 1986. ISSN 0001-0782.
[5]
D. Friedman and D. Wise. The Impact of Applicative Programming on Multiprocessing. Technical report. Indiana University, Computer Science Department, 1976.
[6]
B. Goetz, T. Peierls, J. Bloch, J. Bowbeer, D. Holmes, and D. Lea. Java Concurrency in Practice. Addison-Wesley, 2006.
[7]
D. Huo, T. Ding, C. McMillan, and M. Gethers. An empirical study of the effects of expert knowledge on bug reports. In ICSME, 2014.
[8]
S. P. Jones. Parallel implementations of functional programming languages. The Computer Journal, 32(2):175–186, 1989.
[9]
D. Kester, M. Mwebesa, and J. Bradbury. How good is static analysis at finding concurrency bugs? In SCAM, pages 115– 124, Sept 2010.
[10]
A. Kulkarni, Y. Liu, and S. Smith. Task types for pervasive atomicity. In OOPSLA, 2010.
[11]
T. LaToza and B. Myers. Hard-to-answer questions about code. In PLATEAU, pages 8:1–8:6, 2010.
[12]
D. Lea. Concurrent Programming in Java. Design Principles and Patterns. Addison-Wesley Longman Publishing., 2nd edition, 1999.
[13]
D. Lea. A java fork/join framework. In Java Grande, 2000.
[14]
S. Lu, S. Park, E. Seo, and Y. Zhou. Learning from mistakes: A comprehensive study on real world concurrency bug characteristics. In ASPLOS, 2008.
[15]
P. McKenney. Is Parallel Programming Hard, And, If So, What Can You Do About It? kernel.org, Corvallis, OR, USA, 1st edition, 2014. URL http://kernel.org/pub/linux/ kernel/people/paulmck/perfbook/perfbook.html.
[16]
P. Morrison and E. Murphy-Hill. Is programming knowledge related to age? an exploration of stack overflow. In MSR, 2013.
[17]
S. Okur, D. Hartveld, D. Dig, and A. Deursen. A study and toolkit for asynchronous programming in c#. In ICSE, 2014.
[18]
V. Pankratius and A.-R. Adl-Tabatabai. Software engineering with transactional memory versus locks in practice. Theory of Computing Systems, 55(3):555–590, 2014. ISSN 1432-4350.
[19]
V. Pankratius, F. Schmidt, and G. Garreton. Combining functional and imperative programming for multicore software: An empirical study evaluating scala and java. In ICSE, 2012.
[20]
G. Pinto and F. Kamei. What programmers say about refactoring tools? an empirical investigation of stack overflow. In WRT, 2013.
[21]
G. Pinto, F. Castor, and Y. Liu. Mining questions about software energy consumption. In MSR, 2014.
[22]
G. Pinto, F. Castor, and Y. Liu. Understanding energy behaviors of thread management constructs. In OOPSLA, 2014.
[23]
G. Pinto, W. Torres, B. Fernandes, F. Castor, and R. S. Barros. A large-scale study on the usage of javas concurrent programming constructs. Journal of Systems and Software, 106(0):59 – 81, 2015. ISSN 0164-1212.
[24]
C. J. Rossbach, O. S. Hofmann, and E. Witchel. Is transactional programming actually easier? In PPoPP, 2010.
[25]
A. Stefik and S. Hanenberg. The programming language wars: Questions and responsibilities for the programming language community. In Onward!, pages 283–299, 2014.
[26]
H. Sutter and J. Larus. Software and the concurrency revolution. Queue, 3(7):54–62, Sept. 2005. ISSN 1542-7730.
[27]
J. von Neumann. First draft of a report on the edvac. IEEE Ann. Hist. Comput., 15(4):27–75, Oct. 1993. ISSN 1058- 6180.

Cited By

View all

Index Terms

  1. A study on the most popular questions about concurrent programming

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PLATEAU 2015: Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools
    October 2015
    67 pages
    ISBN:9781450339070
    DOI:10.1145/2846680
    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]

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 October 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Concurrency
    2. Practitioners
    3. Q&A

    Qualifiers

    • Research-article

    Conference

    SPLASH '15
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 5 of 8 submissions, 63%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)24
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 18 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    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