Context: Software developers are increasingly facing the challenges of writing code that is not only concurrent but also correct. Objective: To help these developers, it is necessary to understand concurrency topics they are interested in, their difficulty in finding answers for questions in these topics, their sentiment for these topics, and how they use concurrency tools and techniques to guarantee correctness. Method: We conduct a large-scale study on the entirety of Stack Overflow to understand interests, difficulties, sentiment, and tool usages of concurrency developers. We discuss the implications of our findings for the practice, research, and education of concurrent software development, and investigate the relation of our findings with the findings of the previous work. Results: A few findings of our study are: (1) questions that concurrency developers ask can be grouped into a hierarchy with 27 concurrency topics under 8 major categories, (2) thread safety is among the most popular concurrency topics and client-server concurrency is among the least popular, (3) irreproducible behavior is among the most difficult topics and memory consistency is among the least difficult, (4) data scraping is among the most positive concurrency topics and irreproducible behavior is among the most negative, (5) root cause identification has the most number of questions for usage of data race tools and alternative use has the least. Conclusion: The results of our study can not only help concurrency developers but also concurrency educators and researchers to better decide where to focus their efforts, by trading off one concurrency topic against another.
翻译:目标:为了帮助这些开发者,有必要理解他们感兴趣的问题,他们难以找到这些问题的答案,他们对这些问题的看法,以及他们如何使用货币通货工具和技术来保证正确性。 方法:我们对整个堆积流流体进行大规模研究,以了解同级货币开发者的利益、困难、情绪和工具使用情况。我们讨论了我们的调查结果对同时开发软件的做法、研究和教育的影响,并调查我们的调查结果与以往工作结果的关系。结果:我们研究的少数结论是:(1) 将同级货币开发者要求的问题分为等级,有27个同级货币问题,分为8大类。 (2) 线安全是最受欢迎的货币通货问题之一,客户-维护者通货是最不受欢迎的问题。(3) 不可挽回的行为是最困难的议题之一,记忆一致性是最不困难的议题,(4) 数据报废是最积极的货币化专题之一,不可挽回的行为也是我们最消极的货币统计者最难选择的方法。 (5) 从根本上原因,确定他们最难选择的货币统计方法,只有最难选择的货币统计工具。