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

skip to main content
10.1145/3324884.3416640acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Team discussions and dynamics during DevOps tool adoptions in OSS projects

Published: 27 January 2021 Publication History

Abstract

In Open Source Software (OSS) projects, pre-built tools dominate DevOps-oriented pipelines. In practice, a multitude of configuration management, cloud-based continuous integration, and automated deployment tools exist, and often more than one for each task. Tools are adopted (and given up) by OSS projects regularly. Prior work has shown that some tool adoptions are preceded by discussions, and that tool adoptions can result in benefits to the project. But important questions remain: how do teams decide to adopt a tool? What is discussed before the adoption and for how long? And, what team characteristics are determinant of the adoption?
In this paper, we employ a large-scale empirical study in order to characterize the team discussions and to discern the teamlevel determinants of tool adoption into OSS projects' development pipelines. Guided by theories of team and individual motivations and dynamics, we perform exploratory data analyses, do deep-dive case studies, and develop regression models to learn the determinants of adoption and discussion length, and the direction of their effect on the adoption. From data of commit and comment traces of large-scale GitHub projects, our models find that prior exposure to a tool and member involvement are positively associated with the tool adoption, while longer discussions and the number of newer team members associate negatively. These results can provide guidance beyond the technical appropriateness for the timeliness of tool adoptions in diverse programmer teams.
Our data and code is available at https://github.com/lkyin/tool_adoptions.

References

[1]
Mark S Ackerman, Juri Dachtera, Volkmar Pipek, and Volker Wulf. 2013. Sharing knowledge and expertise: The CSCW view of knowledge management. Computer Supported Cooperative Work (CSCW) 22, 4--6 (2013), 531--573.
[2]
Dane Bertram, Amy Voida, Saul Greenberg, and Robert Walker. 2010. Communication, collaboration, and bugs: the social nature of issue tracking in small, collocated teams. In Proceedings of the 2010 ACM conference on Computer supported cooperative work. 291--300.
[3]
David M Blei, Andrew Y Ng, and Michael I Jordan. 2003. Latent dirichlet allocation. Journal of machine Learning research 3, Jan (2003), 993--1022.
[4]
Berndt Brehmer. 1976. Social judgment theory and the analysis of interpersonal conflict. Psychological bulletin 83, 6 (1976), 985.
[5]
Fabio Calefato, Filippo Lanubile, Federico Maiorano, and Nicole Novielli. 2018. [Journal First] Sentiment Polarity Detection for Software Development. In 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE). IEEE, 128--128.
[6]
Laurent Christophe, Reinout Stevens, Coen De Roover, and Wolfgang De Meuter. 2014. Prevalence and maintenance of automated functional tests for web applications. In 2014 IEEE International Conference on Software Maintenance and Evolution. IEEE, 141--150.
[7]
Dan Cornell. 2012. Remediation statistics: what does fixing application vulnerabilities cost. Proceedings of the RSA Conference, San Fransisco, CA, USA (2012).
[8]
Valerio Cosentino, Javier Luis Cánovas Izquierdo, and Jordi Cabot. 2016. Findings from GitHub: methods, datasets and limitations. In 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR). IEEE, 137--141.
[9]
Fabrício R de Souza, Augusto CSA Domingues, Pedro OS Vaz de Melo, and Antonio AF Loureiro. 2018. MOCHA: A Tool for Mobility Characterization. In Proceedings of the 21st ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems. ACM, 281--288.
[10]
Fabian Fagerholm, Alejandro Sanchez Guinea, Jay Borenstein, and Jürgen Münch. 2014. Onboarding in open source projects. IEEE Software 31, 6 (2014), 54--61.
[11]
William R Ferrell. 1985. Combining individual judgments. In Behavioral decision making. Springer, 111--145.
[12]
Tony Gorschek, Per Garre, Stig Larsson, and Claes Wohlin. 2006. A model for technology transfer in practice. IEEE software 23, 6 (2006), 88--95.
[13]
Sandra Graham and Shari Golan. 1991. Motivational influences on cognition: Task involvement, ego involvement, and depth of information processing. Journal of Educational psychology 83, 2 (1991), 187.
[14]
Sarra Habchi, Xavier Blanc, and Romain Rouvoy. 2018. On adopting linters to deal with performance concerns in android apps.
[15]
Jeffrey T Hancock, Kailyn Gee, Kevin Ciaccio, and Jennifer Mae-Hwah Lin. 2008. I'm sad you're sad: emotional contagion in CMC. In Proceedings of the 2008 ACM conference on Computer supported cooperative work. ACM, 295--298.
[16]
Bill C Hardgrave, Fred D Davis, and Cynthia K Riemenschneider. 2003. Investigating determinants of software developers' intentions to follow methodologies. Journal of Management Information Systems 20, 1 (2003), 123--151.
[17]
Michael Hilton, Jonathan Bell, and Darko Marinov. 2018. A large-scale study of test coverage evolution. In ASE. 53--63.
[18]
Md Rakibul Islam and Minhaz F Zibran. 2018. A comparison of software engineering domain specific sentiment analysis tools. In 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 487--491.
[19]
Siyuan Jiang, Ameer Armaly, and Collin McMillan. 2017. Automatically generating commit messages from diffs using neural machine translation. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 135--146.
[20]
Brittany Johnson, Rahul Pandita, Justin Smith, Denae Ford, Sarah Elder, Emerson Murphy-Hill, Sarah Heckman, and Caitlin Sadowski. 2016. A cross-tool communication study on program analysis tool notifications. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 73--84.
[21]
Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, and Robert Bowdidge. 2013. Why don't software developers use static analysis tools to find bugs?. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 672--681.
[22]
Tiffany Brooke Jordan, Brittany Johnson, Jim Witschey, and Emerson Murphy-Hill. 2014. Designing Interventions to Persuade Software Developers to Adopt Security Tools. In Proceedings of the 2014 ACM Workshop on Security Information Workers (Scottsdale, Arizona, USA) (SIW '14). ACM, New York, NY, USA, 35--38.
[23]
Francisco Jurado and Pilar Rodriguez. 2015. Sentiment Analysis in monitoring software development processes: An exploratory case study on GitHub's project issues. Journal of Systems and Software 104 (2015), 82--89.
[24]
David Kavaler, Asher Trockman, Bogdan Vasilescu, and Vladimir Filkov. 2019. Tool choice matters: JavaScript quality assurance tools and usage outcomes in GitHub projects. In Proceedings of the 41st International Conference on Software Engineering. IEEE Press, 476--487.
[25]
Truman Lee Kelley. 1925. The applicability of the Spearman-Brown formula for the measurement of reliability. Journal of Educational Psychology 16, 5 (1925), 300.
[26]
J Kottmann, G Ingersoll, J Kosin, and B Galitsky. [n.d.]. The Apache OpenNLP library.
[27]
Paul M Leonardi. 2014. Social media, knowledge sharing, and innovation: Toward a theory of communication visibility. Information systems research 25, 4 (2014), 796--816.
[28]
Changzhou Li, Yao Lu, Junfeng Wu, Yongrui Zhang, Zhongzhou Xia, Tianchen Wang, Dantian Yu, Xurui Chen, Peidong Liu, and Junyu Guo. 2018. LDA meets Word2Vec: a novel model for academic abstract clustering. In Companion Proceedings of the The Web Conference 2018. 1699--1706.
[29]
Jennifer Marlow and Laura Dabbish. 2013. Activity traces and signals in software developer recruitment and hiring. In Proceedings of the 2013 conference on Computer supported cooperative work. ACM, 145--156.
[30]
Samim Mirhosseini and Chris Parnin. 2017. Can automated pull requests encourage software developers to upgrade out-of-date dependencies?. In 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 84--94.
[31]
Shinichi Nakagawa and Holger Schielzeth. 2013. A general and simple method for obtaining R2 from generalized linear mixed-effects models. Methods in ecology and evolution 4, 2 (2013), 133--142.
[32]
Shari Lawrence Pfleeger. 1999. Understanding and improving technology transfer in software engineering. Journal of Systems and Software 47, 2--3 (1999), 111--124.
[33]
Andreas Poller, Laura Kocksch, Sven Türpe, Felix Anand Epp, and Katharina Kinder-Kurlanda. 2017. Can security become a routine?: a study of organizational change in an agile software development group. In Proceedings of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing. ACM, 2489--2503.
[34]
Gede Artha Azriadi Prana, Christoph Treude, Ferdian Thung, Thushari Atapattu, and David Lo. 2019. Categorizing the content of GitHub README files. Empirical Software Engineering 24, 3 (2019), 1296--1327.
[35]
Cynthia K. Riemenschneider, Bill C. Hardgrave, and Fred D. Davis. 2002. Explaining software developer acceptance of methodologies: a comparison of five theoretical models. IEEE transactions on Software Engineering 28, 12 (2002), 1135--1145.
[36]
Everett M Rogers. 2002. Diffusion of preventive innovations. Addictive behaviors 27, 6 (2002), 989--993.
[37]
John Rohrbaugh. 1979. Improving the quality of group judgment: Social judgment analysis and the Delphi technique. Organizational Behavior and Human Performance 24, 1 (1979), 73--92.
[38]
Jukka Ruohonen and Ville Leppänen. 2018. Toward validation of textual information retrieval techniques for software weaknesses. In International Conference on Database and Expert Systems Applications. Springer, 265--277.
[39]
Farhana Sarker, Bogdan Vasilescu, Kelly Blincoe, and Vladimir Filkov. 2019. Sociotechnical work-rate increase associates with changes in work patterns in online projects. In Proceedings of the 41st International Conference on Software Engineering. IEEE Press, 936--947.
[40]
Leif-Gerrit Singer. 2013. Improving the adoption of software engineering practices through persuasive interventions. Lulu. com.
[41]
Philippe Skolka, Cristian-Alexandru Staicu, and Michael Pradel. 2019. Anything to Hide? Studying Minified and Obfuscated Code in the Web. In The World Wide Web Conference. ACM, 1735--1746.
[42]
Stuart Soroka, Patrick Fournier, and Lilach Nir. 2019. Cross-national evidence of a negativity bias in psychophysiological reactions to news. Proceedings of the National Academy of Sciences 116, 38 (2019), 18888--18892.
[43]
Margaret-Anne Storey, Alexey Zagalsky, Fernando Figueira Filho, Leif Singer, and Daniel M German. 2016. How social and communication channels shape and challenge a participatory culture in software development. IEEE Transactions on Software Engineering 43, 2 (2016), 185--204.
[44]
Chandrasekar Subramaniam, Ravi Sen, and Matthew L Nelson. 2009. Determinants of open source software project success: A longitudinal study. Decision Support Systems 46, 2 (2009), 576--585.
[45]
Jirateep Tantisuwankul, Yusuf Sulistyo Nugroho, Raula Gaikovina Kula, Hideaki Hata, Arnon Rungsawang, Pattara Leelaprute, and Kenichi Matsumoto. 2019. A topological analysis of communication channels for knowledge sharing in contemporary GitHub projects. Journal of Systems and Software 158 (2019), 110416.
[46]
Leigh Thompson and Terri DeHarpport. 1994. Social judgment, feedback, and interpersonal learning in negotiation. Organizational Behavior and Human Decision Processes 58, 3 (1994), 327--345.
[47]
Kristín Fjóla Tómasdóttir, Mauricio Aniche, and Arie van Deursen. 2017. Why and how JavaScript developers use linters. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. IEEE Press, 578--589.
[48]
Asher Trockman, Shurui Zhou, Christian Kästner, and Bogdan Vasilescu. 2018. Adding sparkle to social coding: an empirical study of repository badges in the npm ecosystem. In Proceedings of the 40th International Conference on Software Engineering. ACM, 511--522.
[49]
Bogdan Vasilescu, Vladimir Filkov, and Alexander Serebrenik. 2013. Stackoverflow and github: Associations between software development and crowdsourced knowledge. In 2013 International Conference on Social Computing. IEEE, 188--195.
[50]
Georg Von Krogh, Sebastian Spaeth, and Karim R Lakhani. 2003. Community, joining, and specialization in open source software innovation: a case study. Research policy 32, 7 (2003), 1217--1241.
[51]
Jim Witschey, Olga Zielinska, Allaire Welk, Emerson Murphy-Hill, Chris May-horn, and Thomas Zimmermann. 2015. Quantifying developers' adoption of security tools. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, 260--271.
[52]
Shundan Xiao, Jim Witschey, and Emerson Murphy-Hill. 2014. Social influences on secure development tool adoption: why security tools spread. In Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing. ACM, 1095--1106.
[53]
Marvin V Zelkowitz. 1995. Assessing software engineering technology transfer within NASA. NASA technical report NASA-RPT-003095. National Aeronautics and Space Administration, Washington, DC (1995).
[54]
Jiaxin Zhu, Minghui Zhou, and Audris Mockus. 2016. Effectiveness of code contribution: From patch-based to pull-request-based tools. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. 871--882.

Cited By

View all
  • (2024)PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source SoftwareProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644907(431-443)Online publication date: 15-Apr-2024
  • (2023)Capabilities and Practices in DevOps: A Multivocal Literature ReviewIEEE Transactions on Software Engineering10.1109/TSE.2022.316662649:2(883-901)Online publication date: 1-Feb-2023
  • (2023)Self-Admitted Library Migrations in Java, JavaScript, and Python Packaging Ecosystems: A Comparative Study2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00064(627-638)Online publication date: Mar-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering
December 2020
1449 pages
ISBN:9781450367684
DOI:10.1145/3324884
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

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 January 2021

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

  • National Science Foundation

Conference

ASE '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)27
  • Downloads (Last 6 weeks)6
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source SoftwareProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644907(431-443)Online publication date: 15-Apr-2024
  • (2023)Capabilities and Practices in DevOps: A Multivocal Literature ReviewIEEE Transactions on Software Engineering10.1109/TSE.2022.316662649:2(883-901)Online publication date: 1-Feb-2023
  • (2023)Self-Admitted Library Migrations in Java, JavaScript, and Python Packaging Ecosystems: A Comparative Study2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER56733.2023.00064(627-638)Online publication date: Mar-2023
  • (2021)A large-scale empirical study on Java library migrations: prevalence, trends, and rationalesProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468571(478-490)Online publication date: 20-Aug-2021

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