I'm trying to calculate the Bus Factor


I’m trying to calculate the bus or truck factor, which is a very funny statistic about knowledge concentration on a code repo. :nerd_face:

So i need:

  • for all files:
  • author of a file
  • history of commits for this file

There is a way to query all this information in one request?

Proposed by Avelino et al. [8], the AVL algorithm relies
on the Degree-of-Authorship (DOA) measure to define the
authors—i.e., the key developers—of each file in a sys-
tem [11], [12]. DOA values are computed from commit
histories as follows: the creation of a file f by a developer d
initializes the value of DOA(d, f ); further commits on f by d
increase DOA(d, f ); finally, commits by other developers de-
crease DOA(d, f ). The weights used to increase/decrease the
DOA values are defined after empirical experiments performed
somewhere [12]. As the last step, DOA values are normalized
per file; the developer with the highest DOA in a file f has
its normalized DOA equal to 1.

1 Like

Hey @joaoapel :wave:

I’ve been looking around and playing with our GraphQL API to see if I can form this into a single call and while there’s definitely options to use aliasing, as mentioned in this response:

In fact, the more I read that thread, the more I think the content there is what you’re after.

Would you mind having a read through that to let me know if that resolves your concern?