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

skip to main content
research-article
Open access

Revealing Software Development Work Patterns with PR-Issue Graph Topologies

Published: 12 July 2024 Publication History

Abstract

How software developers work and collaborate, and how we can best support them is an important topic for software engineering research. One issue for developers is a limited understanding of work that has been done and is ongoing. Modern systems allow developers to create Issues and pull requests (PRs) to track and structure work. However, developers lack a coherent view that brings together related Issues and PRs. In this paper, we first report on a study of work practices of developers through Issues, PRs, and the links that connect them. Specifically, we mine graphs where the Issues and PRs are nodes, and references (links) between them are the edges. This graph-based approach provides a window into a set of collaborative software engineering practices that have not been previously described. Based on a qualitative analysis of 56 GitHub projects, we report on eight types of work practices alongside their respective PR/Issue topologies. Next, inspired by our findings, we developed a tool called WorkflowsExplorer to help developers visualize and study workflow types in their own projects. We evaluated WorkflowsExplorer with 6 developers and report on findings from our interviews. Overall, our work illustrates the value of embracing a topology-focused perspective to investigate collaborative work practices in software development.

References

[1]
Timothy Andrew. 2021. A Better Model for Stacked (GitHub) Pull Requests. https://timothya.com/blog/git-stack/
[2]
Alberto Bacchelli and Christian Bird. 2013. Expectations, Outcomes, and Challenges of Modern Code Review. In Proceedings of the 2013 International Conference on Software Engineering (ICSE ’13). IEEE Press, 712–721. isbn:9781467330763
[3]
Albert-László Barabási and Réka Albert. 1999. Emergence of Scaling in Random Networks. Science, 286, 5439 (1999), 509–512. https://doi.org/10.1126/science.286.5439.509 arxiv:https://www.science.org/doi/pdf/10.1126/science.286.5439.509.
[4]
Vincent Boisselle and Bram Adams. 2015. The impact of cross-distribution bug duplicates, empirical study on Debian and Ubuntu. In 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM). 131–140. https://doi.org/10.1109/SCAM.2015.7335409
[5]
Kathy Charmaz. 2014. Constructing grounded theory. sage.
[6]
Ashish Chopra, Morgan Mo, Samuel Dodson, Ivan Beschastnikh, Sidney S. Fels, and Dongwook Yoon. 2021. "@alex, This Fixes #9": Analysis of Referencing Patterns in Pull Request Discussions. Proc. ACM Hum.-Comput. Interact., 5, CSCW2 (2021), Article 385, oct, 25 pages. https://doi.org/10.1145/3479529
[7]
Victoria Clarke and Virginia Braun. 2013. Successful Qualitative Research: A Practical Guide for Beginners. Sage, London.
[8]
Benjamin Congdon. 2022. In praise of stacked PRS. https://benjamincongdon.me/blog/2022/07/17/In-Praise-of-Stacked-PRs/
[9]
John Creswell. 2009. Research Design: Qualitative, Quantitative, and Mixed-Method Approaches. isbn:9781412965576
[10]
Bill Curtis, Herb Krasner, and Neil Iscoe. 1988. A Field Study of the Software Design Process for Large Systems. Commun. ACM, 31, 11 (1988), nov, 1268–1287. issn:0001-0782 https://doi.org/10.1145/50087.50089
[11]
Cleidson de Souza, Emilie Ma, Jesse Wong, Dongwook Yoon, and Ivan Beschastnikh. 2024. Revealing Software Development Work Patterns with PR-Issue Graph Topologies: VDI for Evaluation. https://doi.org/10.5281/zenodo.11081659
[12]
Felipe Ebert, Fernando Castor, Nicole Novielli, and Alexander Serebrenik. 2018. Communicative Intention in Code Review Questions. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). 519–523. https://doi.org/10.1109/ICSME.2018.00061
[13]
D.R. Garrison, M. Cleveland-Innes, Marguerite Koole, and James Kappelman. 2006. Revisiting methodological issues in transcript analysis: Negotiated coding and reliability. The Internet and Higher Education, 9, 1 (2006), 1–8. issn:1096-7516 https://doi.org/10.1016/j.iheduc.2005.11.001
[14]
Georgios Gousios, Martin Pinzger, and Arie van Deursen. 2014. An Exploratory Study of the Pull-Based Software Development Model. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). Association for Computing Machinery, New York, NY, USA. 345–355. isbn:9781450327565 https://doi.org/10.1145/2568225.2568260
[15]
Georgios Gousios, Margaret-Anne Storey, and Alberto Bacchelli. 2016. Work Practices and Challenges in Pull-Based Development: The Contributor’s Perspective. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). 285–296. https://doi.org/10.1145/2884781.2884826
[16]
Georgios Gousios, Andy Zaidman, Margaret-Anne Storey, and Arie van Deursen. 2015. Work Practices and Challenges in Pull-Based Development: The Integrator’s Perspective. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering. 1, 358–368. https://doi.org/10.1109/ICSE.2015.55
[17]
Toshiki Hirao, Shane McIntosh, Akinori Ihara, and Kenichi Matsumoto. 2019. The Review Linkage Graph for Code Review Analytics: A Recovery Approach and Empirical Study. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). Association for Computing Machinery, New York, NY, USA. 578–589. isbn:9781450355728 https://doi.org/10.1145/3338906.3338949
[18]
Mikko Korkala and Frank Maurer. 2014. Waste identification as the means for improving communication in globally distributed agile software development. Journal of Systems and Software, 95 (2014), 122–140. issn:0164-1212 https://doi.org/10.1016/j.jss.2014.03.080
[19]
Lisha Li, Zhilei Ren, Xiaochen Li, Weiqin Zou, and He Jiang. 2018. How Are Issue Units Linked? Empirical Study on the Linking Behavior in GitHub. In 2018 25th Asia-Pacific Software Engineering Conference (APSEC). 386–395. https://doi.org/10.1109/APSEC.2018.00053
[20]
Zhi-Xing Li, Yue Yu, Tao Wang, Gang Yin, Xin-Jun Mao, and Huai-Min Wang. 2021. Detecting Duplicate Contributions in Pull-Based Model Combining Textual and Change Similarities. Journal of Computer Science and Technology, 36, 1 (2021), 01 Jan, 191–206. issn:1860-4749 https://doi.org/10.1007/s11390-020-9935-1
[21]
Thomas W. Malone and Kevin Crowston. 1994. The Interdisciplinary Study of Coordination. ACM Comput. Surv., 26, 1 (1994), mar, 87–119. issn:0360-0300 https://doi.org/10.1145/174666.174668
[22]
Robert C. Martin. 2003. Agile software development: principles, patterns, and practices. Prentice Hall PTR. http://dl.acm.org/citation.cfm?id=515230
[23]
Courtney Miller, Sophie Cohen, Daniel Klug, Bogdan Vasilescu, and Christian KaUstner. 2022. "Did You Miss My Comment or What?": Understanding Toxicity in Open Source Discussions. In Proceedings of the 44th International Conference on Software Engineering (ICSE ’22). Association for Computing Machinery, New York, NY, USA. 710–722. isbn:9781450392211 https://doi.org/10.1145/3510003.3510111
[24]
Reza Nadri, Gema Rodriguez-Perez, and Meiyappan Nagappan. 2021. Insights Into Nonmerged Pull Requests in GitHub: Is There Evidence of Bias Based on Perceptible Race? IEEE Software, 38, 2 (2021), 51–57. https://doi.org/10.1109/MS.2020.3036758
[25]
Meiyappan Nagappan, Thomas Zimmermann, and Christian Bird. 2013. Diversity in Software Engineering Research. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2013). Association for Computing Machinery, New York, NY, USA. 466–476. isbn:9781450322379 https://doi.org/10.1145/2491411.2491415
[26]
Kumiyo Nakakoji, Yasuhiro Yamamoto, Yoshiyuki Nishinaka, Kouichi Kishida, and Yunwen Ye. 2002. Evolution Patterns of Open-Source Software Systems and Communities. In Proceedings of the International Workshop on Principles of Software Evolution (IWPSE ’02). Association for Computing Machinery, New York, NY, USA. 76–85. isbn:1581135459 https://doi.org/10.1145/512035.512055
[27]
Alexander Nicholson, Deeksha M. Arya, and Jin L. C. Guo. 2020. Traceability Network Analysis: A Case Study of Links in Issue Tracking Systems. In 7th IEEE International Workshop on Artificial Intelligence for Requirements Engineering, AIRE@RE 2020, Zurich, Switzerland, September 1, 2020. IEEE, 39–47. https://doi.org/10.1109/AIRE51212.2020.00013
[28]
R.S. Pressman and D. Bruce R. Maxim. 2014. Software Engineering: A Practitioner’s Approach. McGraw-Hill Education. isbn:9780078022128 lccn:2013035493 https://books.google.ca/books?id=i8NmnAEACAAJ
[29]
Ayushi Rastogi, Nachiappan Nagappan, Georgios Gousios, and André van der Hoek. 2018. Relationship between Geographical Location and Evaluation of Developer Contributions in Github. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM ’18). Association for Computing Machinery, New York, NY, USA. Article 22, 8 pages. isbn:9781450358231 https://doi.org/10.1145/3239235.3240504
[30]
Michael Rath, Jacob Rendall, Jin L. C. Guo, Jane Cleland-Huang, and Patrick Mäder. 2018. Traceability in the Wild: Automatically Augmenting Incomplete Trace Links. In Proceedings of the 40th International Conference on Software Engineering (ICSE ’18). Association for Computing Machinery, New York, NY, USA. 834–845. isbn:9781450356381 https://doi.org/10.1145/3180155.3180207
[31]
Eric S. Raymond and Tim O’Reilly. 1999. The Cathedral and the Bazaar (1st ed.). O’Reilly Associates, Inc., USA. isbn:1565927249
[32]
Todd Sedano, Paul Ralph, and Cécile Péraire. 2017. Software Development Waste. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). 130–140. https://doi.org/10.1109/ICSE.2017.20
[33]
Robert Sedgewick and Kevin Wayne. 2011. Algorithms, 4th Edition. Addison-Wesley. isbn:978-0-321-57351-3
[34]
Igor Steinmacher, Gustavo Pinto, Igor Scaliante Wiese, and Marco A. Gerosa. 2018. Almost There: A Study on Quasi-Contributors in Open Source Software Projects. In Proceedings of the 40th International Conference on Software Engineering (ICSE ’18). Association for Computing Machinery, New York, NY, USA. 256–266. isbn:9781450356381 https://doi.org/10.1145/3180155.3180208
[35]
Anselm Strauss. 1985. WORK AND THE DIVISION OF LABOR. The Sociological Quarterly, 26, 1 (1985), 1–19. https://doi.org/10.1111/j.1533-8525.1985.tb00212.x arxiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1533-8525.1985.tb00212.x.
[36]
Dong Wang, Tao Xiao, Patanamon Thongtanunam, Raula Gaikovina Kula, and Kenichi Matsumoto. 2021. Understanding shared links and their intentions to meet information needs in modern code review:. Empirical Software Engineering, 26, 5 (2021), 08 Jul, 96. issn:1573-7616 https://doi.org/10.1007/s10664-021-09997-x
[37]
Jesse Wong and Emilie Ma. 2024. ubcdlab/pr-issue-topology-project: ACM Artifact Submission. https://doi.org/10.5281/zenodo.11094381
[38]
Wenxin Xiao, Hao He, Weiwei Xu, Xin Tan, Jinhao Dong, and Minghui Zhou. 2022. Recommending Good First Issues in GitHub OSS Projects. In Proceedings of the 44th International Conference on Software Engineering (ICSE ’22). Association for Computing Machinery, New York, NY, USA. 1830–1842. isbn:9781450392211 https://doi.org/10.1145/3510003.3510196
[39]
Nikolas Zöller, Jonathan H. Morgan, and Tobias Schröder. 2020. A topology of groups: What GitHub can tell us about online collaboration. Technological Forecasting and Social Change, 161 (2020), 120291. issn:0040-1625 https://doi.org/10.1016/j.techfore.2020.120291

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Software Engineering
Proceedings of the ACM on Software Engineering  Volume 1, Issue FSE
July 2024
2770 pages
EISSN:2994-970X
DOI:10.1145/3554322
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 third-party components of this work must be honored. For all other uses, contact the owner/author(s).

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 July 2024
Published in PACMSE Volume 1, Issue FSE

Badges

Author Tags

  1. graphs
  2. issues
  3. pull requests
  4. pull-based development
  5. work practices

Qualifiers

  • Research-article

Funding Sources

  • Natural Sciences and Engineering Research Council of Canada

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 138
    Total Downloads
  • Downloads (Last 12 months)138
  • Downloads (Last 6 weeks)56
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media