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 categorize them using a thematic analysis methodology. We observed that even though some questions (22.94% of them) are related to practical problems (e.g., “how to fix this concurrency bug”), most of them (66.23%) are asking for help in the basics concepts of concurrent programming (e.g., “what is a mutex?”). Although most of the questions are related to basic concepts, such questions were created by well-experienced StackOveflow users. Curiously, we did not find any question about how to use concurrent programming techniques to improve application performance.
A Study on the Most Popular Questions About Concurrent Programming (plateau2015-pinto.pdf)