https://github.com/jetbrains-research/bus-factor-explorer
A web app for exploring Bus Factor of GitHub projects by analyzing the commit history.
https://github.com/jetbrains-research/bus-factor-explorer
bus-factor git mining-software-repositories truck-factor
Last synced: 4 months ago
JSON representation
A web app for exploring Bus Factor of GitHub projects by analyzing the commit history.
- Host: GitHub
- URL: https://github.com/jetbrains-research/bus-factor-explorer
- Owner: JetBrains-Research
- License: mit
- Created: 2023-05-22T17:56:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T17:29:44.000Z (over 1 year ago)
- Last Synced: 2025-05-29T17:40:53.903Z (6 months ago)
- Topics: bus-factor, git, mining-software-repositories, truck-factor
- Language: Jupyter Notebook
- Homepage:
- Size: 4.28 MB
- Stars: 17
- Watchers: 7
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
[](https://github.com/JetBrains-Research/bus-factor-explorer/actions/workflows/ci.yml)
# `bus-factor-explorer`
A web app for exploring Bus Factor of GitHub projects.
## About
Bus factor (BF) is a metric that tracks knowledge distribution in a project.
It is the minimal number of engineers that have to leave for a project to stall.
`bus-factor-explorer` provides an interface and an API to compute, export,
and explore the Bus Factor metric via treemap visualization, turnover simulation mode, and interactive charts.
It supports repositories hosted on GitHub and enables functionality to search repositories and process multiple repositories
at the same time.
Our tool enables the users to identify the files and subsystems at risk of stalling in the event of developer turnover
by analyzing the commit history.
Demo is available on [YouTube](https://youtu.be/uIoV79N14z8).
## Quick start
Docker:
```shell
docker run -p 8080:8080 -it ghcr.io/jetbrains-research/bus-factor-explorer/bus-factor-explorer:latest
```
Docker Compose configuration is also [available](docker-compose.yml) in the repository.
## Usage
Simple scenario:
1. Open the main page;
2. Search for a repository. You can use [advanced GitHub search](https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories) syntax;
3. Click on the repository and wait for the calculation to finish;
4. Reload the main page and click on the repository in the main page;
5. Explore bus factor data using built-in visualization, or process the results externally using `Explore Data` panel.
## Screenshots



## Evaluation
To evaluate our tool, we computed the bus factor of 935 popular repositories on GitHub.
The results are available in the [`evaluation`](./evaluation) directory.
#### Local development
Build and start:
1. Run `./gradlew jibDockerBuild`
2. Run `docker compose up`
Auto-format code:
1. Run `./gradlew ktlintFormat`