Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
169 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Guiding Effort Allocation in Open-Source Software Projects Using Bus Factor Analysis (2401.03303v1)

Published 6 Jan 2024 in cs.SE

Abstract: A critical issue faced by open-source software projects is the risk of key personnel leaving the project. This risk is exacerbated in large projects that have been under development for a long time and experienced growth in their development teams. One way to quantify this risk is to measure the concentration of knowledge about the project among its developers. Formally known as the Bus Factor (BF) of a project and defined as 'the number of key developers who would need to be incapacitated to make a project unable to proceed'. Most of the proposed algorithms for BF calculation measure a developer's knowledge of a file based on the number of commits. In this work, we propose using other metrics like lines of code changes (LOCC) and cosine difference of lines of code (change-size-cos) to calculate the BF. We use these metrics for BF calculation for five open-source GitHub projects using the CST algorithm and the RIG algorithm, which is git-blame-based. Moreover, we calculate the BF on project sub-directories that have seen the most active development recently. Lastly, we compare the results of the two algorithms in accuracy, similarity in results, execution time, and trends in BF values over time.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (15)
  1. Assessing the bus factor of git repositories. 03 2015.
  2. A comparison of three algorithms for computing truck factors. In 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC), pages 207–217, 2017.
  3. A novel approach for estimating truck factors. In 2016 IEEE 24th International Conference on Program Comprehension (ICPC), pages 1–10, Los Alamitos, CA, USA, may 2016. IEEE Computer Society.
  4. Quantifying and mitigating turnover-induced knowledge loss: Case studies of chrome and a project at avaya. In Proceedings of the 38th International Conference on Software Engineering, ICSE ’16, page 1006–1016, New York, NY, USA, 2016. Association for Computing Machinery.
  5. Petsc project. Available online at: https://github.com/petsc/petsc.
  6. Spack project. Available online at: https://github.com/spack/spack.
  7. Hypre project. Available online at: https://github.com/hypre-space/hypre.
  8. Lammps project. Available online at: https://github.com/lammps/lammps.
  9. Nwchem project. Available online at: https://github.com/nwchemgit/nwchem.
  10. Are developers complying with the process: An xp study. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’10, New York, NY, USA, 2010. Association for Computing Machinery.
  11. On the difficulty of computing the truck factor. volume 6759, pages 337–351, 06 2011.
  12. Gitana: A software project inspector. Science of Computer Programming, 153, 12 2017.
  13. SeatGeek Inc. fuzzywuzzy: Fuzzy String Matching in Python, 2014.
  14. Gitana: a sql-based project activity inspector. Available online at: https://github.com/SOM-Research/Gitana.
  15. Valerio Cosentino. Bus factor analyzer. Available online at: https://github.com/SOM-Research/busfactor.

Summary

We haven't generated a summary for this paper yet.