ABSTRACT
Finding the most valuable and indispensable developers is a crucial task in software development. We categorize these valuable developers into two categories: connector and maven. A typical connector represents a developer who connects different groups of developers in a large-scale project. Mavens represent the developers who are the sole experts in specific modules of the project.
To identify the connectors and mavens, we propose an approach using graph centrality metrics and connections of traceability graphs. We conducted a preliminary study on this approach by using two open source projects: QT 3D Studio and Android. Initial results show that the approach leads to identify the essential developers.
- 2018. QT 3D Studio. https://code.qt.io/cgit/qt3dstudio/qt3dstudio.git/ 2019. NetworkX 2.3. https://networkx.github.io/Google Scholar
- Amritanshu Agrawal, Akond Rahman, Rahul Krishna, Alexander Sobran, and Tim Menzies. 2018. We don’t need another hero?: the impact of heroes on software development. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice. ACM, 245–253. Google ScholarDigital Library
- Mohammad Y Allaho and Wang-Chien Lee. 2013. Analyzing the social ties and structure of contributors in open source software community. In Proceedings of the 2013 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining. ACM, 56–60. Google ScholarDigital Library
- Guilherme Avelino, Leonardo Passos, Andre Hora, and Marco Tulio Valente. 2016. A novel approach for estimating truck factors. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC). IEEE, 1–10.Google ScholarCross Ref
- Christian Bird, Alex Gourley, Prem Devanbu, Michael Gertz, and Anand Swaminathan. 2006. Mining email social networks. In Proceedings of the 2006 international workshop on Mining software repositories. ACM, 137–143. Google ScholarDigital Library
- Jinghui Cheng and Jin LC Guo. 2019. Activity-Based Analysis of Open Source Software Contributors: Roles and Dynamics. arXiv preprint arXiv:1903.05277 (2019). Google ScholarDigital Library
- Valerio Cosentino, Javier Luis Cánovas Izquierdo, and Jordi Cabot. 2015. Assessing the bus factor of Git repositories. In 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 499–503.Google ScholarCross Ref
- Kevin Crowston, Kangning Wei, Qing Li, and James Howison. 2006. Core and periphery in free/libre and open source software team communications. In Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS’06), Vol. 6. IEEE, 118a–118a. Google ScholarDigital Library
- Mívian Ferreira, Marco Tulio Valente, and Kecia Ferreira. 2017. A comparison of three algorithms for computing truck factors. In Proceedings of the 25th International Conference on Program Comprehension. IEEE Press, 207–217. Google ScholarDigital Library
- Linton C Freeman. 1978. Centrality in social networks conceptual clarification. Social networks 1, 3 (1978), 215–239.Google Scholar
- Malcolm Gladwell. 2000. The Tipping Point : How Little Things Can Make a Big Difference. Little, Brown and Company, Chapter 2.Google Scholar
- Mitchell Joblin, Sven Apel, Claus Hunsen, and Wolfgang Mauerer. 2017. Classifying developers into core and peripheral: An empirical study on count and network metrics. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, 164–174. Google ScholarDigital Library
- Thomas N Kipf and Max Welling. 2016. Semi-supervised classification with graph convolutional networks. arXiv preprint arXiv:1609.02907 (2016).Google Scholar
- Makrina Viola Kosti, Robert Feldt, and Lefteris Angelis. 2016. Archetypal personalities of software engineers and their work preferences: a new perspective for empirical studies. Empirical Software Engineering 21, 4 (2016), 1509–1532. Google ScholarDigital Library
- Jakub Lipcak and Bruno Rossi. 2018. A Large-Scale Study on Source Code Reviewer Recommendation. In 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). IEEE, 378–387.Google ScholarCross Ref
- Audris Mockus. 2010. Organizational volatility and its effects on software defects. In Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering. ACM, 117–126. Google ScholarDigital Library
- Peter C Rigby, Yue Cai Zhu, Samuel M Donadelli, and Audris Mockus. 2016. Quantifying and mitigating turnover-induced knowledge loss: Case studies of Chrome and a project at Avaya. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). IEEE, 1006–1016. Google ScholarDigital Library
- Jing Wu and Khim Yong Goh. 2009. Evaluating longitudinal success of open source software projects: A social network perspective. In 2009 42nd Hawaii International Conference on System Sciences. IEEE, 1–10. Abstract 1 Research Problem 2 Related Work 3 Approach 3.1 Constructing Artifact Traceability Graph 3.2 Constructing Developer Relation Graph 3.3 Metric Definitions on Graphs 4 Case Study 5 Future Work References Google ScholarDigital Library
Index Terms
Identifying the most valuable developers using artifact traceability graphs
Recommendations
Identifying key developers using artifact traceability graphs
PROMISE 2020: Proceedings of the 16th ACM International Conference on Predictive Models and Data Analytics in Software EngineeringDevelopers are the most important resource to build and maintain software projects. Due to various reasons, some developers take more responsibility, and this type of developers are more valuable and indispensable for the project. Without them, the ...
Analyzing developer contributions using artifact traceability graphs
AbstractContextIn a software project, properly analyzing the contributions of developers could provide valuable insights for decision-makers. The contributions of a developer could be in many different forms such as committing and reviewing code, opening ...
Forbidden pairs of disconnected graphs for traceability in connected graphs
Let H be a class of given graphs. A graph G is said to be H-free if G contains no induced copies of H for every H?H. A graph is called traceable if it contains a Hamilton path. Faudree and Gould (1997) characterized all the pairs {R,S} of connected ...
Comments