Proseminar: Collaborative Software Development (Summer Term 2024)

Collaborative software development is widespread in modern software engineering. In collaborative development, multiple developers work on the same software project, typically simultaneously or in an interleaved fashion. This practice leverages the collective expertise of developers to innovate, troubleshoot, and improve software at a pace that individual efforts cannot match. However, it also poses organizational, technical, and legal challenges when combining invested development efforts. Various tools and platforms try to mitigate these challenges and they enable teams to work together across different geographies and time zones to build complex systems.

This seminar delves into the research on collaborative software development, exploring the latest findings and discussions from selected topics in the field. Students will engage with research papers that shed light on the nuances and evolving practices within collaborative environments. The seminar aims to foster critical thinking and in-depth understanding of the challenges and solutions in collaborative software development as presented by recent research. Students will be expected to actively participate by reading assigned research papers, presenting their insights, and composing a research essay on their selected topic.

The seminar is offered each summer and winter term.

Important Dates

We will not meet during the first week of the term. Our first meeting will be April 15th. Changes are still possible. Please check back at the beginning of the term for updates.

- 15.04.2024, 09:15, Room ZM2.B.03.13: Kick-Off

Organization

TBA

Topics

  • Kıvanç Muşlu, Christian Bird, Nachiappan Nagappan, and Jacek Czerwonka. 2014. Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes. In Proceedings of the 36th International Conference on Software Engineering (ICSE 2014). Association for Computing Machinery, New York, NY, USA, 334–344. https://doi.org/10.1145/2568225.2568284
  • Singh, V., Aggarwal, A. (2024). Limitations of Centralized Version Control Systems (SVN) and Approaches to Its Migration to Decentralized VCS. In: Bhardwaj, A., Pandey, P.M., Misra, A. (eds) Optimization of Production and Industrial Systems. CPIE 2023. Lecture Notes in Mechanical Engineering. Springer, Singapore. https://doi.org/10.1007/978-981-99-8343-8_10
  • C. Rodríguez-Bustos and J. Aponte, “How Distributed Version Control Systems impact open source software projects,” 2012 9th IEEE Working Conference on Mining Software Repositories (MSR), Zurich, Switzerland, 2012, pp. 36-39, doi: 10.1109/MSR.2012.6224297
  • C. Costa and L. Murta, “Version Control in Distributed Software Development: A Systematic Mapping Study,” 2013 IEEE 8th International Conference on Global Software Engineering, Bari, Italy, 2013, pp. 90-99, doi: 10.1109/ICGSE.2013.19
  • S. Just, K. Herzig, J. Czerwonka and B. Murphy, “Switching to Git: The Good, the Bad, and the Ugly,” 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, ON, Canada, 2016, pp. 400-411, doi: 10.1109/ISSRE.2016.38.
  • Ogayar-Anguita, Carlos J., Alfonso López-Ruiz, Rafael J. Segura-Sánchez, and Antonio J. Rueda-Ruiz. 2023. “A Version Control System for Point Clouds” Remote Sensing 15, no. 18: 4635. https://doi.org/10.3390/rs15184635
  • Shurui Zhou, Bogdan Vasilescu, and Christian Kästner. 2019. What the fork: a study of inefficient and efficient forking practices in social coding. 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, 350–361. https://doi.org/10.1145/3338906.3338918
  • Robles, G., González-Barahona, J.M. (2012). A Comprehensive Study of Software Forks: Dates, Reasons and Outcomes. In: Hammouda, I., Lundell, B., Mikkonen, T., Scacchi, W. (eds) Open Source Systems: Long-Term Sustainability. OSS 2012. IFIP Advances in Information and Communication Technology, vol 378. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33442-9_1
  • Christian Bird and Thomas Zimmermann. 2012. Assessing the value of branches with what-if analysis. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE '12). Association for Computing Machinery, New York, NY, USA, Article 45, 1–11. https://doi.org/10.1145/2393596.2393648
  • D. Ford, M. Behroozi, A. Serebrenik and C. Parnin, “Beyond the Code Itself: How Programmers Really Look at Pull Requests,” 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Society (ICSE-SEIS), Montreal, QC, Canada, 2019, pp. 51-60, doi: 10.1109/ICSE-SEIS.2019.00014.
  • Moreira Soares D, de Lima Júnior ML, Murta L, Plastino A. What factors influence the lifetime of pull requests?. Softw Pract Exper. 2021; 51: 1173–1193. https://doi.org/10.1002/spe.2946
  • Chandra Maddila, Sai Surya Upadrasta, Chetan Bansal, Nachiappan Nagappan, Georgios Gousios, and Arie van Deursen. 2023. Nudge: Accelerating Overdue Pull Requests toward Completion. ACM Trans. Softw. Eng. Methodol. 32, 2, Article 35 (March 2023), 30 pages. https://doi.org/10.1145/3544791
  • T. Mens, “A state-of-the-art survey on software merging,” in IEEE Transactions on Software Engineering, vol. 28, no. 5, pp. 449-462, May 2002, doi: 10.1109/TSE.2002.1000449.
  • G. Cavalcanti, P. Borba, G. Seibt and S. Apel, “The Impact of Structure on Software Merging: Semistructured Versus Structured Merge,” 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), San Diego, CA, USA, 2019, pp. 1002-1013, doi: 10.1109/ASE.2019.00097.
  • Guilherme Cavalcanti, Paulo Borba, and Paola Accioly. 2017. Evaluating and improving semistructured merge. Proc. ACM Program. Lang. 1, OOPSLA, Article 59 (October 2017), 27 pages. https://doi.org/10.1145/3133883
  • Caius Brindescu, Iftekhar Ahmed, Rafael Leano, and Anita Sarma. 2020. Planning for untangling: predicting the difficulty of merge conflicts. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (ICSE '20). Association for Computing Machinery, New York, NY, USA, 801–811. https://doi.org/10.1145/3377811.3380344
  • M. Owhadi-Kareshk, S. Nadi and J. Rubin, “Predicting Merge Conflicts in Collaborative Software Development,” 2019 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Porto de Galinhas, Brazil, 2019, pp. 1-11, doi: 10.1109/ESEM.2019.8870173.
  • Klissiomara Dias, Paulo Borba, Marcos Barreto, Understanding predictive factors for merge conflicts, Information and Software Technology, Volume 121, 2020, 106256, ISSN 0950-5849, https://doi.org/10.1016/j.infsof.2020.106256.
  • J. Businge, M. Openja, S. Nadi, E. Bainomugisha and T. Berger, “Clone-Based Variability Management in the Android Ecosystem,” 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME), Madrid, Spain, 2018, pp. 625-634, doi: 10.1109/ICSME.2018.00072.
  • Poedjadevie Kadjel Ramkisoen, John Businge, Brent van Bladel, Alexandre Decan, Serge Demeyer, Coen De Roover, and Foutse Khomh. 2022. PaReco: patched clones and missed patches among the divergent variants of a software family. In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022). Association for Computing Machinery, New York, NY, USA, 646–658. https://doi.org/10.1145/3540250.3549112
  • Panuchart Bunyakiati and Chadarat Phipathananunth. 2017. Cherry-picking of code commits in long-running, multi-release software. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 994–998. https://doi.org/10.1145/3106237.3122818
  • Zerouali, A., Mens, T., Decan, A. et al. On the impact of security vulnerabilities in the npm and RubyGems dependency networks. Empir Software Eng 27, 107 (2022). https://doi.org/10.1007/s10664-022-10154-1
  • Nasif Imtiaz, Seaver Thorn, and Laurie Williams. 2021. A comparative study of vulnerability reporting by software composition analysis tools. In Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (ESEM '21). Association for Computing Machinery, New York, NY, USA, Article 5, 1–11. https://doi.org/10.1145/3475716.3475769
  • Laura Bottner, Artur Hermann, Jeremias Eppler, Thomas Thüm, and Frank Kargl. 2023. Evaluation of Free and Open Source Tools for Automated Software Composition Analysis. In Proceedings of the 7th ACM Computer Science in Cars Symposium (CSCS '23). Association for Computing Machinery, New York, NY, USA, Article 3, 1–11. https://doi.org/10.1145/3631204.3631862
  • Rani, P., Panichella, S., Leuenberger, M. et al. What do class comments tell us? An investigation of comment evolution and practices in Pharo Smalltalk. Empir Software Eng 26, 112 (2021). https://doi.org/10.1007/s10664-021-09981-5
  • Emad Aghajani, Csaba Nagy, Mario Linares-Vásquez, Laura Moreno, Gabriele Bavota, Michele Lanza, and David C. Shepherd. 2020. Software documentation: the practitioners’ perspective. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering (ICSE '20). Association for Computing Machinery, New York, NY, USA, 590–601. https://doi.org/10.1145/3377811.3380405
  • Chao Wang, Hao He, Uma Pal, Darko Marinov, and Minghui Zhou. 2023. Suboptimal Comments in Java Projects: From Independent Comment Changes to Commenting Practices. ACM Trans. Softw. Eng. Methodol. 32, 2, Article 45 (March 2023), 33 pages. https://doi.org/10.1145/3546949
  • J. F. DeFranco and P. A. Laplante, “Review and Analysis of Software Development Team Communication Research,” in IEEE Transactions on Professional Communication, vol. 60, no. 2, pp. 165-182, June 2017, doi: 10.1109/TPC.2017.2656626.
  • Junior, I.d.F., Marczak, S., Santos, R. et al. C2M: a maturity model for the evaluation of communication in distributed software development. Empir Software Eng 27, 188 (2022). https://doi.org/10.1007/s10664-022-10211-9
  • Adriano Neves de Souza, Sírius Thadeu Ferreira da Silva, Juliana Baptista dos Santos França, Angélica Fonseca da Silva Dias, Jonice Oliveira, and Adriana S. Vivacqua. 2022. Communication Channels and their Challenges: an Analysis of Software Development Teams during the COVID-19 Pandemic. Proc. ACM Hum.-Comput. Interact. 7, GROUP, Article 3 (January 2023), 26 pages. https://doi.org/10.1145/3567553
  • Michael Hilton, Timothy Tunnell, Kai Huang, Darko Marinov, and Danny Dig. 2016. Usage, costs, and benefits of continuous integration in open-source projects. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE '16). Association for Computing Machinery, New York, NY, USA, 426–437. https://doi.org/10.1145/2970276.2970358
  • Mojtaba Shahin, Mansooreh Zahedi, Muhammad Ali Babar, and Liming Zhu. 2017. Adopting Continuous Delivery and Deployment: Impacts on Team Structures, Collaboration and Responsibilities. In Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering (EASE '17). Association for Computing Machinery, New York, NY, USA, 384–393. https://doi.org/10.1145/3084226.3084263
  • R. K. Gupta, M. Venkatachalapathy and F. K. Jeberla, “Challenges in Adopting Continuous Delivery and DevOps in a Globally Distributed Product Team: A Case Study of a Healthcare Organization,” 2019 ACM/IEEE 14th International Conference on Global Software Engineering (ICGSE), Montreal, QC, Canada, 2019, pp. 30-34, doi: 10.1109/ICGSE.2019.00020.
  • Andrew Meneely and Laurie Williams. 2010. Strengthening the empirical analysis of the relationship between Linus’ Law and software security. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '10). Association for Computing Machinery, New York, NY, USA, Article 9, 1–10. https://doi.org/10.1145/1852786.1852798
  • Reshmi Maulik, Subhajit Datta, and Subhashis Majumder. 2022. Litmus Test for Linus’ Law: A Structural Equation Modeling Based Approach. In Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering (EASE '22). Association for Computing Machinery, New York, NY, USA, 237–242. https://doi.org/10.1145/3530019.3534080
  • Jing Wang, Patrick C. Shih, John M. Carroll, Revisiting Linus’s law: Benefits and challenges of open source software peer review, International Journal of Human-Computer Studies, Volume 77, 2015, Pages 52-65, ISSN 1071-5819, https://doi.org/10.1016/j.ijhcs.2015.01.005.
  • Tuarob, S., Assavakamhaenghan, N., Tanaphantaruk, W. et al. Automatic team recommendation for collaborative software development. Empir Software Eng 26, 64 (2021). https://doi.org/10.1007/s10664-021-09966-4
  • Assavakamhaenghan, N., Tanaphantaruk, W., Suwanworaboon, P. et al. Quantifying effectiveness of team recommendation for collaborative software development. Autom Softw Eng 29, 51 (2022). https://doi.org/10.1007/s10515-022-00357-7
  • Pisol Ruenin, Morakot Choetkiertikul, Akara Supratak, Suppawong Tuarob, TeReKG: A temporal collaborative knowledge graph framework for software team recommendation, Knowledge-Based Systems, Volume 289, 2024, 111492, ISSN 0950-7051, https://doi.org/10.1016/j.knosys.2024.111492
  • Yaroslav Golubev, Maria Eliseeva, Nikita Povarov, and Timofey Bryksin. 2020. A Study of Potential Code Borrowing and License Violations in Java Projects on GitHub. In Proceedings of the 17th International Conference on Mining Software Repositories (MSR '20). Association for Computing Machinery, New York, NY, USA, 54–64. https://doi.org/10.1145/3379597.3387455
  • X. Cui et al., “An Empirical Study of License Conflict in Free and Open Source Software,” 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Melbourne, Australia, 2023, pp. 495-505, doi: 10.1109/ICSE-SEIP58684.2023.00050
  • Thomas Wolter, Ann Barcomb, Dirk Riehle, and Nikolay Harutyunyan. 2023. Open Source License Inconsistencies on GitHub. ACM Trans. Softw. Eng. Methodol. 32, 5, Article 110 (September 2023), 23 pages. https://doi.org/10.1145/3571852