Using Bus Factor Analysis to Guide Effort Allocation in Open-Source Software Projects
Aliza Lisan
Committee: Boyana Norris (chair), Stephen Fickas, Daniel Lowd
Directed Research Project(Nov 2023)
Keywords: Bus factor, Open-Source, Code ownership, Risk management, Mining GitHub repositories

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.