Automatic team recommendation for collaborative software development

Abstract

In large-scale collaborative software development, building a team of software practitioners can be challenging, mainly due to overloading choices of candidate members to fill in each role. Furthermore, having to understand all members’ diverse backgrounds, and anticipate team compatibility could significantly complicate and attenuate such a team formation process. Current solutions that aim to automatically suggest software practitioners for a task merely target particular roles, such as developers, reviewers, and integrators. While these existing approaches could alleviate issues presented by choice overloading, they fail to address team compatibility while members collaborate. In this paper, we propose RECAST, an intelligent recommendation system that suggests team configurations that satisfy not only the role requirements, but also the necessary technical skills and teamwork compatibility, given task description and a task assignee. Specifically, RECAST uses Max-Logit to intelligently enumerate and rank teams based on the team-fitness scores. Machine learning algorithms are adapted to generate a scoring function that learns from heterogenous features characterizing effective software teams in large-scale collaborative software development. RECAST is evaluated against a state-of-the-art team recommendation algorithm using three well-known open-source software project datasets. The evaluation results are promising, illustrating that our proposed method outperforms the baselines in terms of team recommendation with 646% improvement (MRR) using the exact-match evaluation protocol.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Notes

  1. 1.

    https://www.atlassian.com/software/jira

  2. 2.

    https://backlog.com/

  3. 3.

    https://www.bugzilla.org/

  4. 4.

    https://tracker.moodle.org/rest/api/2/issue/issueid

  5. 5.

    http://sentistrength.wlv.ac.uk/

  6. 6.

    http://mallet.cs.umass.edu/topics.php

References

  1. Al-Subaihin A, Sarro F, Black S, Capra L (2019) Empirical comparison of text-based mobile apps similarity measurement techniques. Empir Softw Eng 24(6):3290–3315

    Article  Google Scholar 

  2. Alberola JM, Del Val E, Sanchez-Anguix V, Palomares A, Teruel MD (2016) An artificial intelligence tool for heterogeneous team formation in the classroom. Knowl-Based Syst 101:1–14

    Article  Google Scholar 

  3. Alharbi AS, Li Y, Xu Y (2017) Integrating lda with clustering technique for relevance feature selection. In: Australasian joint conference on artificial intelligence. Springer, pp 274–286

  4. Assavakamhaenghan N, Choetkiertikul M, Tuarob S, Kula RG, Hata H, Ragkhitwetsagul C, Sunetnanta T, Matsumoto K (2019) Software team member configurations: A study of team effectiveness in moodle. In: 2019 10th International workshop on empirical software engineering in practice (IWESEP). IEEE, pp 19–195

  5. Asuncion A, Welling M, Smyth P, Teh YW (2009) On smoothing and inference for topic models. In: Proceedings of the twenty-fifth conference on uncertainty in artificial intelligence, UAI ’09. AUAI Press, Arlington, pp 27–34. ISBN 978-0-9749039-5-8. http://dl.acm.org/citation.cfm?id=1795114.1795118

  6. Baj-Rogowska A (2017) Sentiment analysis of facebook posts: The uber case. In: Proceedings of the 8th International conference on intelligent computing and information systems (ICICIS). IEEE, pp 391–395

  7. Blei DM, Ng AY, Jordan MI (2003) Latent dirichlet allocation. J Mach Learn Res 3(Jan):993–1022

    MATH  Google Scholar 

  8. Breiman L (2001) Random forests. Mach Learn 45(1):5–32

    MATH  Article  Google Scholar 

  9. Cabanillas C, Resinas M, Mendling J, Ruiz-Cortés A (2015) Automated team selection and compliance checking in business processes. In: Proceedings of the international conference on software and system process. pp 42–51

  10. Chen T-H, Thomas SW, Hassan AE (2016) A survey on the use of topic models when mining software repositories. Empir Softw Eng 21(5):1843–1919

    Article  Google Scholar 

  11. Choetkiertikul M, Dam HK, Tran T, Ghose A (2017) Predicting the delay of issues with due dates in software projects. Empir Softw Eng 22 (3):1223–1263. ISSN 15737616. https://doi.org/10.1007/s10664-016-9496-7

    Article  Google Scholar 

  12. Coelho J, Valente MT (2017) Why modern open source projects fail. In: Proceedings of the 2017 11th Joint meeting on foundations of software engineering, pp 186–196

  13. Dai H, Huang Y, Yang L (2015) Game theoretic max-logit learning approaches for joint base station selection and resource allocation in heterogeneous networks. IEEE J Select Areas Commun 33(6):1068–1081

    Article  Google Scholar 

  14. Datta A, Tan Teck Yong J, Ventresque A (2011) T-recs: team recommendation system through expertise and cohesiveness. In: Proceedings of the 20th international conference companion on World wide web. pp 201–204

  15. de Lima Júnior ML, Soares DM, Plastino A, Murta L (2018) Automatic assignment of integrators to pull requests: The importance of selecting appropriate attributes. J Syst Softw 144:181–196

    Article  Google Scholar 

  16. Deerwester S, Dumais ST, Furnas GW, Landauer TK, Harshman R (1990) Indexing by latent semantic analysis. J Am Soc Inf Sci 41(6):391–407

    Article  Google Scholar 

  17. Ferreira DJ, Caetano SS, Junior CGC (2017) An automatic group formation method to foster innovation in collaborative learning at workplace. Int J Innov Educ Res 5(4):28–43

    Article  Google Scholar 

  18. Fox E (2008) Emotion science cognitive and neuroscientific approaches to understanding human emotions. Palgrave Macmillan, London

    Book  Google Scholar 

  19. Gao D, Tong Y, She J, Song T, Chen L, Xu K (2017) Top-k team recommendation and its variants in spatial crowdsourcing. Data Sci Eng 2(2):136–150

    Article  Google Scholar 

  20. Gharehyazie M, Filkov V (2017) Tracing distributed collaborative development in apache software foundation projects. Empir Softw Eng 22(4):1795–1830

    Article  Google Scholar 

  21. Gharehyazie M, Posnett D, Vasilescu B, Filkov V (2015) Developer initiation and social interactions in oss: A case study of the apache software foundation. Empir Softw Eng 20(5):1318–1353

    Article  Google Scholar 

  22. Grigore M, Rosenkranz C (2011) Increasing the willingness to collaborate online: an analysis of sentiment-driven interactions in peer content production. In: Galletta DF, Liang T (eds) Proceedings of the international conference on information systems, ICIS 2011, Shanghai, China, December 4-7, 2011. Association for Information Systems. http://aisel.aisnet.org/icis2011/proceedings/onlinecommunity/20

  23. Gupta P, Xhabija F, Shoup MD, Brikman Y, Crosa A, Ramirez R (2014) Team member recommendation system. US Patent App. 13/907,577

  24. Hassan S-U, Akram A, Haddawy P (2017) Identifying important citations using contextual information from full text. In: 2017 ACM/IEEE Joint conference on digital libraries (JCDL). IEEE, pp 1–8

  25. Hofmann T (2001) Unsupervised learning by probabilistic latent semantic analysis. Mach Learn 42(1-2):177–196

    MATH  Article  Google Scholar 

  26. Hogan JM, Thomas R (2005) Developing the software engineering team. pp 203–210

  27. Hupa A, Rzadca K, Wierzbicki A, matchmaking A. Datta. (2010) Interdisciplinary Choosing collaborators by skill, acquaintance and trust. In: Computational social network analysis. Springer, pp 319–347

  28. Iaffaldano G, Steinmacher I, Calefato F, Gerosa M, Lanubile F (2019) Why do developers take breaks from contributing to oss projects?: a preliminary analysis. In: Proceedings of the 2nd International workshop on software health. IEEE Press, pp 9–16

  29. Jeni LA, Cohn JF, De La Torre F (2013) Facing imbalanced data–recommendations for the use of performance metrics. In: 2013 Humaine association conference on affective computing and intelligent interaction. IEEE, pp 245–251

  30. Jiarpakdee J, Tantithamthavorn C, Hassan AE (2019) The impact of correlated metrics on the interpretation of defect models. IEEE Trans Softw Eng

  31. Jiarpakdee J, Tantithamthavorn C, Treude C (2020) The impact of automated feature selection techniques on the interpretation of defect models. Empir Softw Eng :1–49

  32. Kale A, Karandikar A, Kolari P, Java A, Joshi A (2007) Modeling trust and influence in the blogosphere using link polarity. In: Proceedings of the international conference on Weblogs and social media (ICWSM 2007)

  33. Khoshgoftaar TM, Golawala M, Van Hulse J (2007) An empirical study of learning from imbalanced data using random forest. In: 19th IEEE International conference on tools with artificial intelligence (ICTAI 2007), vol 2. IEEE, pp 310–317

  34. Li H, Chen T-HP, Shang W, Hassan AE (2018) Studying software logging using topic models. Empir Softw Eng 23(5):2655–2694

    Article  Google Scholar 

  35. Liao Z, Li Y, He D, Wu J, Zhang Y, Fan X (2017) Topic-based integrator matching for pull request. In: Proceedings of GLOBECOM 2017-2017 IEEE global communications conference. IEEE, pp 1–6

  36. Lindsjørn Y, Sjøberg DI, Dingsøyr T, Bergersen GR, Dybå T (2016) Teamwork quality and project success in software development: A survey of agile development teams. J Syst Softw 122:274–286

    Article  Google Scholar 

  37. Liu H, Qiao M, Greenia D, Akkiraju R, Dill S, Nakamura T, Song Y, Nezhad HM (2014) A machine learning approach to combining individual strength and team features for team recommendation. In: Proceedings of the 13th International conference on machine learning and applications. IEEE, pp 213–218

  38. Malinowski J, Weitzel T, Keim T (2008) Decision support for team staffing: An automated relational recommendation approach. Decis Support Syst 45(3):429–447

    Article  Google Scholar 

  39. Manning CD, Schütze H, Raghavan P (2008) Introduction to information retrieval. Cambridge university press, Cambridge

    MATH  Book  Google Scholar 

  40. McIntosh A, Hassan S, Hindle A (2019) What can android mobile app developers do about the energy consumption of machine learning? Empir Softw Eng 24(2):562–601

    Article  Google Scholar 

  41. Misra H, Cappé O, Yvon F (2008) Using lda to detect semantically incoherent documents. In: CoNLL 2008: Proceedings of the Twelfth Conference on Computational Natural Language Learning, pages 41–48

  42. Mistrík I, Grundy J, Van der Hoek A, Whitehead J (2010) Collaborative software engineering: challenges and prospects. Berlin, Springer, pp 389–403

    MATH  Book  Google Scholar 

  43. Moe NB, Dingsøyr T, Dybå T (2010) A teamwork model for understanding an agile team: A case study of a Scrum project. Inf Softw Technol 52 (5):480–491. ISSN 09505849. https://doi.org/10.1016/j.infsof.2009.11.004

    Article  Google Scholar 

  44. Monderer D, Shapley LS (1996) Potential games. Games Econ Behav 14(1):124–143

    MathSciNet  MATH  Article  Google Scholar 

  45. Naguib H, Narayan N, Brügge B, Helal D (2013) Bug report assignee recommendation using activity profiles. In: Proceedings of the 10th working conference on mining software repositories (MSR). IEEE, pp 22–30

  46. Newman D, Lau J, Grieser K, Baldwin T (2010) Automatic evaluation of topic coherence. inhuman language technologies: The 2010 annual conference of the north american chapter of the association for computational linguistics hlt’10

  47. Osborne MJ, Rubinstein A (1994) A course in game theory, MIT press, Cambridge

  48. Ouni A, Kula RG, Inoue K (2016) Search-based peer reviewers recommendation in modern code review. In: Proceedings of IEEE International conference on software maintenance and evolution (ICSME). IEEE, pp 367–377

  49. Petkovic D, Sosnick-Pérez M, Huang S, Todtenhoefer R, Okada K, Arora S, Sreenivasen R, Flores L, Dubey S (2014) Setap: Software engineering teamwork assessment and prediction using machine learning. In: Proceedings of IEEE Frontiers in education conference (FIE) proceedings. IEEE, pp 1–8

  50. Ragkhitwetsagul C, Krinke J (2019) Siamese: scalable and incremental code clone search via multiple code representations. Empir Softw Eng 24(4):2236–2284

    Article  Google Scholar 

  51. Rahman MM, Roy CK, Collins JA (2016) Correct: code reviewer recommendation in github based on cross-project and technology experience. In: Proceedings of the 38th International conference on software engineering companion. pp 222–231

  52. Ramage D, Hall D, Nallapati R, Manning CD (2009) Labeled lda: A supervised topic model for credit attribution in multi-labeled corpora. In: Proceedings of conference on empirical methods in natural language processing: Volume 1-Volume 1. Association for Computational Linguistics, pp 248–256

  53. Rosen C, Shihab E (2016) What are mobile developers asking about? a large scale study using stack overflow. Empir Softw Eng 21(3):1192–1223

    Article  Google Scholar 

  54. Song Y, Wong SH, Lee. K-W (2011) Optimal gateway selection in multi-domain wireless networks: A potential game perspective. In: Proceedings of the 17th annual international conference on Mobile computing and networking. pp 325–336

  55. Steyvers M, Griffiths T (2007) Probabilistic topic models. In: Handbook of latent semantic analysis, vol 427, pp 424–440

  56. Sudhakar GP (2012) A model of critical success factors for software projects. J Enterp Inf Manag

  57. Surian D, Liu N, Lo D, Tong H, Lim E-P, Faloutsos C (2011) Recommending people in developers’ collaboration network. In: Proceedings of the 18th Working conference on reverse engineering. IEEE, pp 379–388

  58. Tantithamthavorn C, Hassan AE, Matsumoto K (2018) The impact of class rebalancing techniques on the performance and interpretation of defect prediction models. IEEE Trans Softw Eng

  59. Thelwall M, Buckley K, Paltoglou G, Cai D, Kappas A (2010) Sentiment strength detection in short informal text. J Am Soc Inf Sci Technol 61 (12):2544–2558

    Article  Google Scholar 

  60. Thongtanunam P, Tantithamthavorn C, Kula RG, Yoshida N, Iida H, Matsumoto K-I (2015) Who should review my code? a file location-based code-reviewer recommendation approach for modern code review. In: Proceedings of IEEE 22nd International conference on software analysis, evolution, and reengineering (SANER). IEEE, pp 141–150

  61. Tuarob S, Pouchard LC, Mitra P, Giles CL (2015) A generalized topic modeling approach for automatic document annotation. Int J Digit Libr 16(2):111–128

    Article  Google Scholar 

  62. Tuarob S, Strong R, Chandra A, Tucker CS (2018) Discovering discontinuity in big financial transaction data. ACM Trans Manag Inf Syst (TMIS) 9 (1):1–26

    Article  Google Scholar 

  63. Tuarob S, Kang SW, Wettayakorn P, Pornprasit C, Sachati T, Hassan SU, Haddawy P (2020) Automatic classification of algorithm citation functions in scientific literature. IEEE Trans Knowl Data Eng 32(10):1881–1896

    Article  Google Scholar 

  64. Xia X, Lo D, Wang X, Zhou B (2013) Accurate developer recommendation for bug resolution. In: 2013 20th Working conference on reverse engineering (WCRE). IEEE, pp 72–81

  65. Xia X, Lo D, Wang X, Zhou B (2015) Dual analysis for recommending developers to resolve bugs. J Softw Evol Process 27(3):195–220

    Article  Google Scholar 

  66. Yang H, Sun X, Li B, Hu J (2016) Recommending developers with supplementary information for issue request resolution. In: Proceedings of the 38th International conference on software engineering companion. pp 707–709

  67. Yi H, Xiong Q, Zou Q, Xu R, Wang K, Gao M (2019) A novel random forest and its application on classification of air quality. In: 2019 8th International congress on advanced applied informatics (IIAI-AAI). IEEE, pp 35–38

  68. Yu Y, Wang H, Yin G, Wang T (2016) Reviewer recommendation for pull-requests in github What can we learn from code review and bug assignment? Inf Softw Technol 74:204–218

    Article  Google Scholar 

  69. Zanjani MB, Kagdi H, Bird C (2015) Automatically recommending peer reviewers in modern code review. IEEE Trans Softw Eng 42(6):530–543

    Article  Google Scholar 

  70. Zhang Z, Ren W, Yang Z, Wen G (2020a) Real-time seam defect identification for al alloys in robotic arc welding using optical spectroscopy and integrating learning. Measurement 156:107546

    Article  Google Scholar 

  71. Zhang Z, Sun H, Zhang H (2020b) Developer recommendation for topcoder through a meta-learning based policy model. Empir Softw Eng 25(1):859–889

    Article  Google Scholar 

  72. Zhang Z-W, Jing X-Y, Wang T-J (2017) Label propagation based semi-supervised learning for software defect prediction. Autom Softw Eng 24(1):47–69

    Article  Google Scholar 

Download references

Acknowledgements

This research is supported by the Thailand Science Research and Innovation (TSRI), formerly known as Thailand Research Fund (TRF), through grant RSA6280105.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Morakot Choetkiertikul.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article belongs to the Topical Collection: Recommendation Systems for Software Engineering

Communicated by: Ali Ouni, David Lo, Xin Xia, Alexander Serebrenik and Christoph Treude

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

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

Download citation

Keywords

  • Team recommendation
  • Collaborative software development
  • Machine learning