Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

An Empirical Study of Developer Discussions in the Gitter Platform

Published: 31 December 2020 Publication History

Abstract

Developer chatrooms (e.g., the Gitter platform) are gaining popularity as a communication channel among developers. In developer chatrooms, a developer (asker) posts questions and other developers (respondents) respond to the posted questions. The interaction between askers and respondents results in a discussion thread. Recent studies show that developers use chatrooms to inquire about issues, discuss development ideas, and help each other. However, prior work focuses mainly on analyzing individual messages of a chatroom without analyzing the discussion thread in a chatroom. Developer chatroom discussions are context-sensitive, entangled, and include multiple participants that make it hard to accurately identify threads. Therefore, prior work has limited capability to show the interactions among developers within a chatroom by analyzing only individual messages.
In this article, we perform an in-depth analysis of the Gitter platform (i.e., developer chatrooms) by analyzing 6,605,248 messages of 709 chatrooms. To analyze the characteristics of the posted questions and the impact on the response behavior (e.g., whether the posted questions get responses), we propose an approach that identifies discussion threads in chatrooms with high precision (i.e., 0.81 F-score). Our results show that inactive members responded more often and unique questions take longer discussion time than simple questions. We also find that clear and concise questions are more likely to be responded to than poorly written questions.
We further manually analyze a randomly selected sample of 384 threads to examine how respondents resolve the raised questions. We observe that more than 80% of the studied threads are resolved. Advanced-level/beginner-level questions along with the edited questions are the mostly resolved questions. Our results can help the project maintainers understand the nature of the discussion threads (e.g., the topic trends). Project maintainers can also benefit from our thread identification approach to spot the common repeated threads and use these threads as frequently asked questions (FAQs) to improve the documentation of their projects.

References

[1]
Paige H. Adams and Craig H. Martell. 2008. Topic identification and extraction in chat. In Proceedings of the IEEE International Conference on Semantic Computing. IEEE, 581--588
[2]
Guilherme Avelino, Eleni Constantinou, Marco Tulio Valente, and Alexander Serebrenik. 2019. On the abandonment and survival of open source projects: An empirical investigation. In Proceedings of the ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM’19). IEEE, 1--12.
[3]
Alan Bandeira, Carlos Alberto Medeiros, Matheus Paixao, and Paulo Henrique Maia. 2019. We need to talk about microservices: An analysis from the discussions on StackOverflow. In Proceedings of the IEEE/ACM 16th International Conference on Mining Software Repositories (MSR’19). IEEE, 255--259.
[4]
Abdul Ali Bangash, Hareem Sahar, Shaiful Chowdhury, Alexander William Wong, Abram Hindle, and Karim Ali. 2019. What do developers know about machine learning: A study of ML discussions on StackOverflow. In Proceedings of the IEEE/ACM 16th International Conference on Mining Software Repositories (MSR’19). IEEE, 260--264.
[5]
Anton Barua, Stephen W. Thomas, and Ahmed E. Hassan. 2014. What are developers talking about? An analysis of topics and trends in stack overflow. Empir. Softw. Eng. 19, 3 (2014), 619--654.
[6]
Douglas Bates, Martin Maechler, Ben Bolker, Steven Walker, Rune Haubo Bojesen Christensen, Henrik Singmann, Bin Dai, Fabian Scheipl, and Gabor Grothendieck. [n.d.]. Package ‘lme4’. https://cran.r-project.org/web/packages/lme4/lme4.pdf.
[7]
Jason Bengel, Susan Gauch, Eera Mittur, and Rajan Vijayaraghavan. 2004. Chattrack: Chatroom topic identification using classification. In Proceedings of the International Conference on Intelligence and Security Informatics. Springer, 266--277.
[8]
Silvia Breu, Rahul Premraj, Jonathan Sillito, and Thomas Zimmermann. 2009. Frequently Asked Questions in Bug Reports. Technical Report. University of Calgary.
[9]
Fabio Calefato, Filippo Lanubile, M. R. Merolla, and N. Novielli. 2015. Success factors for effective knowledge sharing in community-based question-answering. In Proceedings of the International Forum on Knowledge Asset Dynamics (IFKAD’15). 1431--1441.
[10]
Fabio Calefato, Filippo Lanubile, and Nicole Novielli. 2016. Moving to stack overflow: Best-answer prediction in legacy developer forums. In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. 1--10.
[11]
Fabio Calefato, Filippo Lanubile, and Nicole Novielli. 2018. How to ask for technical help? Evidence-based guidelines for writing questions on Stack Overflow. Inf. Softw. Technol. 94 (2018), 186--207.
[12]
Fabio Calefato, Filippo Lanubile, and Nicole Novielli. 2019. An empirical assessment of best-answer prediction models in technical Q8A sites. Empir. Softw. Eng. 24, 2 (2019), 854--901.
[13]
Preetha Chatterjee, Kostadin Damevski, Lori Pollock, Vinay Augustine, and Nicholas A. Kraft. 2019. Exploratory study of Slack Q8A chats as a mining source for software engineering tools. In Proceedings of the 16th International Conference on Mining Software Repositories. IEEE Press, 490--501.
[14]
Sym Spell Checker. [n.d.]. Sym Spell Checker. Retrieved from https://github.com/wolfgarbe/SymSpell.
[15]
Anamika Chhabra and S. R. S. Iyengar. 2019. Investigating Ortega hypothesis in Q8A portals: An analysis of StackOverflow. arXiv preprint arXiv:1911.02376 (2019).
[16]
Andrea Di Sorbo, Sebastiano Panichella, Corrado A. Visaggio, Massimiliano Di Penta, Gerardo Canfora, and Harald Gall. 2016. DECA: Development emails content analyzer. In Proceedings of the IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C’16). IEEE, 641--644.
[17]
Andrea Di Sorbo, Sebastiano Panichella, Corrado A. Visaggio, Massimiliano Di Penta, Gerardo Canfora, and Harald C. Gall. 2015. Development emails content analyzer: Intention mining in developer discussions (T). In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15). IEEE, 12--23.
[18]
T3N Digital. 2018. Gitter: A chat for GitHub users. Retrieved from https://t3n.de/news/gitter-github-chat-509383/.
[19]
Mariam El Mezouar, Feng Zhang, and Ying Zou. 2018. Are tweets useful in the bug fixing process? An empirical study on Firefox and Chrome. Empir. Softw. Eng. 23, 3 (2018), 1704--1742.
[20]
Micha Elsner and Eugene Charniak. 2010. Disentangling chat. Computat. Ling. 36, 3 (2010), 389--409.
[21]
Micha Elsner and Eugene Charniak. 2011. Disentangling chat with local coherence models. In Proceedings of the 49th Meeting of the Association for Computational Linguistics: Human Language Technologies. 1179--1189.
[22]
Joseph L. Fleiss. 1971. Measuring nominal scale agreement among many raters.Psychol. Bull. 76, 5 (1971), 378.
[23]
Documentation for R stats package. [n.d.]. STAT package. Retrieved from https://cran.r-project.org/web/packages/STAT/index.html.
[24]
John Fox, Sanford Weisberg, Daniel Adler, Douglas Bates, Gabriel Baud-Bovy, Steve Ellison, David Firth, Michael Friendly, Gregor Gorjanc, Spencer Graves, et al. 2012. Package “car.” Vienna: R Foundation for Statistical Computing. https://cran.r-project.org/web/packages/car/car.pdf.
[25]
Taher Ahmed Ghaleb, Daniel Alencar da Costa, and Ying Zou. [n.d.]. An empirical study of the long duration of continuous integration builds. Empir. Softw. Eng. ([n.d.]), 1--38. https://danielcalencar.github.io/papers/EMSE2019-Taher.pdf.
[26]
Cyril Goutte and Eric Gaussier. 2005. A probabilistic interpretation of precision, recall and F-score, with implication for evaluation. In Proceedings of the European Conference on Information Retrieval. Springer, 345--359.
[27]
Latifa Guerrouj, Shams Azad, and Peter C. Rigby. 2015. The influence of App churn on App success and StackOverflow discussions. In Proceedings of the IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER’15). IEEE, 321--330.
[28]
Mark Handel and James D. Herbsleb. 2002. What is chat doing in the workplace? In Proceedings of the ACM Conference on Computer Supported Cooperative Work. ACM, 1--10.
[29]
James A. Hanley and Barbara J. McNeil. 1982. The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology 143, 1 (1982), 29--36.
[30]
Safwat Hassan, Chakkrit Tantithamthavorn, Cor-Paul Bezemer, and Ahmed E. Hassan. 2018. Studying the dialogue between users and developers of free apps in the Google Play store. Empir. Softw. Eng. 23, 3 (2018), 1275--1312.
[31]
Abram Hindle, Christian Bird, Thomas Zimmermann, and Nachiappan Nagappan. 2012. Relating requirements to implementation via topic analysis: Do topics extracted from requirements make sense to managers and developers? In Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM’12). IEEE, 243--252.
[32]
Pieter Hooimeijer and Westley Weimer. 2007. Modeling bug report quality. In Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering. ACM, 34--43.
[33]
Walid M. Ibrahim, Nicolas Bettenburg, Emad Shihab, Bram Adams, and Ahmed E. Hassan. 2010. Should I contribute to this discussion? In Proceedings of the 7th IEEE Working Conference on Mining Software Repositories (MSR’10). IEEE, 181--190.
[34]
Frank E Harrell Jr. 2018. Harrell Miscellaneous. Retrieved from https://cran.r-project.org/web/packages/Hmisc/Hmisc.pdf.
[35]
Erik Kouters, Bogdan Vasilescu, Alexander Serebrenik, and Mark G. J. Van Den Brand. 2012. Who’s who in Gnome: Using LSA to merge software repository identities. In Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM’12). IEEE, 592--595.
[36]
Francine Lafontaine and Kenneth J. White. 1986. Obtaining any Wald statistic you want. Econ. Lett. 21, 1 (1986), 35--40.
[37]
Bin Lin, Alexey Zagalsky, Margaret-Anne Storey, and Alexander Serebrenik. 2016. Why developers are slacking off: Understanding how software teams use slack. In Proceedings of the 19th ACM Conference on Computer Supported Cooperative Work and Social Computing Companion. ACM, 333--336.
[38]
Edward Loper and Steven Bird. 2002. NLTK: The natural language toolkit. arXiv preprint cs/0205028 (2002).
[39]
Willy J. R. Martin, Bernard P. F. Al, and Piet J. G. Van Sterkenburg. 1983. On the processing of a text corpus: From textual data to lexicographical information. Lexicog.: Princ. Pract. (1983), 77--87.
[40]
Elijah Mayfield, David Adamson, and Carolyn Penstein Rosé. 2012. Hierarchical conversation structure prediction in multi-party chat. In Proceedings of the 13th Meeting of the Special Interest Group on Discourse and Dialogue. Association for Computational Linguistics, 60--69.
[41]
Douglas R. McCallum and James L Peterson. 1982. Computer-based readability indexes. In Proceedings of the Association for Computational Linguistics Conference (ACM’82). ACM, 44--48.
[42]
Qing Mi, Yujin Gao, Jacky Keung, Yan Xiao, and Solomon Mensah. 2017. Identifying textual features of high-quality questions: An empirical study on stack overflow. In Proceedings of the 24th Asia-Pacific Software Engineering Conference (APSEC’17). IEEE Computer Society, 636--641.
[43]
Laura Moreno, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, Andrian Marcus, and Gerardo Canfora. 2014. Automatic generation of release notes. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 484--495.
[44]
Ehsan Noei, Feng Zhang, and Ying Zou. 2019. Too many user-reviews, what should app developers look at first? IEEE Trans. Softw. Eng. (2019). 10.1109/TSE.2019.2893171
[45]
Christiane Nord. 2005. Text Analysis in Translation: Theory, Methodology, and Didactic Application of a Model for Translation-oriented Text Analysis. Rodopi.
[46]
Aditya Pal, Shuo Chang, and Joseph A. Konstan. 2012. Evolution of experts in question answering communities. In Proceedings of the 6th International AAAI Conference on Weblogs and Social Media.
[47]
Annibale Panichella, Bogdan Dit, Rocco Oliveto, Massimilano Di Penta, Denys Poshynanyk, and Andrea De Lucia. 2013. How to effectively use topic models for software engineering tasks? An approach based on genetic algorithms. In Proceedings of the 35th International Conference on Software Engineering (ICSE’13). IEEE, 522--531.
[48]
Sebastiano Panichella, Gabriele Bavota, Massimiliano Di Penta, Gerardo Canfora, and Giuliano Antoniol. 2014. How developers’ collaborations identified from different sources tell us about code changes. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution. IEEE, 251--260.
[49]
Joël Plisson, Nada Lavrac, Dunja Mladenic, et al. 2004. A rule based approach to word lemmatization. Proceedings of the IS-2004. 83--86.
[50]
Luca Ponzanelli, Andrea Mocci, Alberto Bacchelli, and Michele Lanza. 2014. Understanding and classifying the quality of technical forum questions. In Proceedings of the 14th International Conference on Quality Software. IEEE, 343--352.
[51]
Luca Ponzanelli, Andrea Mocci, Alberto Bacchelli, Michele Lanza, and David Fullerton. 2014. Improving low quality stack overflow post detection. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution. IEEE, 541--544.
[52]
Gitlab Issue report Gitter. 2018. Measure monthly active users. Retrieved from https://gitlab.com/gitlab-org/gitter/webapp/issues/2000.
[53]
Juliana Reyes. 2015. These devs delved into the world of Backbone.js and were blown away by what they found. Retrieved from https://technical.ly/philly/2015/02/06/backbone-js-marionette-open-source-squareknot/.
[54]
Peter C. Rigby and Ahmed E. Hassan. 2007. What can OSS mailing lists tell us? A preliminary psychometric text analysis of the apache developer mailing list. In Proceedings of the 4th International Workshop on Mining Software Repositories. IEEE Computer Society, 23.
[55]
Stephen Robertson. 2004. Understanding inverse document frequency: On theoretical arguments for IDF. J. Docum. 60, 5 (2004), 503--520.
[56]
Christoffer Rosen and Emad Shihab. 2016. What are mobile developers asking about? A large-scale study using stack overflow. Empir. Softw. Eng. 21, 3 (2016), 1192--1223.
[57]
Stack Share. 2019. Gitter vs RocketChat vs Slack. What are the differences? Retrieved from https://stackshare.io/stackups/gitter-vs-rocketchat-vs-slack#stats.
[58]
Dou Shen, Qiang Yang, Jian-Tao Sun, and Zheng Chen. 2006. Thread identification in dynamic text message streams. In Proceedings of the 29th International ACM SIGIR Conference on Research and Development in Information Retrieval. ACM, 35--42.
[59]
Martin Shepperd, David Bowes, and Tracy Hall. 2014. Researcher bias: The use of machine learning in software defect prediction. IEEE Trans. Softw. Eng. 40, 6 (2014), 603--616.
[60]
Emad Shihab, Akinori Ihara, Yasutaka Kamei, Walid M. Ibrahim, Masao Ohira, Bram Adams, Ahmed E. Hassan, and Ken-ichi Matsumoto. 2010. Predicting re-opened bugs: A case study on the Eclipse project. In Proceedings of the 17th Working Conference on Reverse Engineering. IEEE, 249--258.
[61]
Emad Shihab, Zhen Ming Jiang, and Ahmed E. Hassan. 2009. Studying the use of developer IRC meetings in open source projects. In Proceedings of the IEEE International Conference on Software Maintenance. IEEE, 147--156.
[62]
Tom A. B. Snijders, Roel J. Bosker et al. 1999. An Introduction to Basic and Advanced Multilevel Modeling. Sage, London. J. Amer. Statist. Assoc. 80, 5 (1999), 13--524.
[63]
G. Y. Wong and W. Mason. 1985). The hierarchical logistic regression. Model for multilevel analysis.
[64]
Christoph Treude, Ohad Barzilay, and Margaret-Anne Storey. 2011. How do programmers ask and answer questions on the web? (NIER track). In Proceedings of the 33rd International Conference on Software Engineering. 804--807.
[65]
David C. Uthus and David W. Aha. 2013. Multiparticipant chat analysis: A survey. Artif. Intell. 199 (2013), 106--121.
[66]
Fernanda B. Viégas and Judith S. Donath. 1999. Chat circles. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 9--16.
[67]
David Vronay, Marc Smith, and Steven Drucker. 1999. Alternative interfaces for chat. In Proceedings of the 12th ACM Symposium on User Interface Software and Technology. ACM, 19--26.
[68]
Lidan Wang and Douglas W. Oard. 2009. Context-based message expansion for disentanglement of interleaved text conversations. In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics. Association for Computational Linguistics, 200--208.
[69]
Shaowei Wang, Tse-Hsun Chen, and Ahmed E. Hassan. 2018. Understanding the factors for fast answers in technical Q8A websites. Empir. Softw. Eng. 23, 3 (2018), 1552--1593.
[70]
Igor Scaliante Wiese, José Teodoro da Silva, Igor Steinmacher, Christoph Treude, and Marco Aurélio Gerosa. 2016. Who is who in the mailing list? Comparing six disambiguation heuristics to identify multiple addresses of a participant. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME’16). IEEE, 345--355.
[71]
Xin-Li Yang, David Lo, Xin Xia, Zhi-Yuan Wan, and Jian-Ling Sun. 2016. What security questions do developers ask? A large-scale study of stack overflow posts. J. Comput. Sci. Technol. 31, 5 (2016), 910--924.
[72]
Alexey Zagalsky, Daniel M. German, Margaret-Anne Storey, Carlos Gómez Teshima, and Germán Poo-Caamaño. 2018. How the R community creates and curates knowledge: An extended study of stack overflow and mailing lists. Empir. Softw. Eng. 23, 2 (2018), 953--986.
[73]
Guoliang Zhao, Daniel Alencar da Costa, and Ying Zou. 2019. Improving the pull requests review process using learning-to-rank algorithms. Empir. Softw. Eng. (2019), 1--31.

Cited By

View all
  • (2024)Analyzing and Detecting Information Types of Developer Live Chat ThreadsACM Transactions on Software Engineering and Methodology10.1145/364367733:5(1-32)Online publication date: 4-Jun-2024
  • (2024)On the Helpfulness of Answering Developer Questions on Discord with Similar Conversations and Posts from the PastProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623341(1-13)Online publication date: 20-May-2024
  • (2024)Applying short text topic models to instant messaging communication of software developersJournal of Systems and Software10.1016/j.jss.2024.112111216(112111)Online publication date: Oct-2024
  • Show More Cited By

Index Terms

  1. An Empirical Study of Developer Discussions in the Gitter Platform

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 30, Issue 1
    Continuous Special Section: AI and SE
    January 2021
    444 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/3446626
    • Editor:
    • Mauro Pezzè
    Issue’s Table of Contents
    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: 31 December 2020
    Accepted: 01 July 2020
    Revised: 01 April 2020
    Received: 01 January 2020
    Published in TOSEM Volume 30, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Chat disentanglement
    2. Gitter
    3. developer chatrooms
    4. developer threads
    5. mixed-effect models
    6. thread identification

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)79
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 02 Sep 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Analyzing and Detecting Information Types of Developer Live Chat ThreadsACM Transactions on Software Engineering and Methodology10.1145/364367733:5(1-32)Online publication date: 4-Jun-2024
    • (2024)On the Helpfulness of Answering Developer Questions on Discord with Similar Conversations and Posts from the PastProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623341(1-13)Online publication date: 20-May-2024
    • (2024)Applying short text topic models to instant messaging communication of software developersJournal of Systems and Software10.1016/j.jss.2024.112111216(112111)Online publication date: Oct-2024
    • (2024)An exploratory study of software artifacts on GitHub from the lens of documentationInformation and Software Technology10.1016/j.infsof.2024.107425(107425)Online publication date: Feb-2024
    • (2023)Developers and Modern Communication Mediums2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00078(592-596)Online publication date: 1-Oct-2023
    • (2023)Dialog summarization for software collaborative platform via tuning pre-trained modelsJournal of Systems and Software10.1016/j.jss.2023.111763204:COnline publication date: 1-Oct-2023
    • (2023)Automating discussion structure re-organization for GitHub issuesExpert Systems with Applications10.1016/j.eswa.2023.120024225(120024)Online publication date: Sep-2023
    • (2023)Ranking code clones to support maintenance activitiesEmpirical Software Engineering10.1007/s10664-023-10292-028:3Online publication date: 25-Apr-2023
    • (2022)Using discord conversations as program comprehension aidProceedings of the 30th IEEE/ACM International Conference on Program Comprehension10.1145/3524610.3528388(597-601)Online publication date: 16-May-2022
    • (2022)Topology of the documentation landscapeProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Companion Proceedings10.1145/3510454.3517068(297-299)Online publication date: 21-May-2022
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media