Giter Club home page Giter Club logo

bus-factor-explorer's Introduction

JetBrains Research Java CI with Gradle

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.

Quick start

Docker:

docker run -p 8080:8080 -it ghcr.io/jetbrains-research/bus-factor-explorer/bus-factor-explorer:latest

Docker Compose configuration is also available in the repository.

Usage

Simple scenario:

  1. Open the main page;
  2. Search for a repository. You can use advanced GitHub search 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

Treemap Visualization built with chart editor Simulation mode

Evaluation

To evaluate our tool, we computed the bus factor of 935 popular repositories on GitHub. The results are available in the evaluation directory.

Local development

Build and start:

  1. Run ./gradlew jibDockerBuild
  2. Run docker compose up

Auto-format code:

  1. Run ./gradlew ktlintFormat

bus-factor-explorer's People

Contributors

egorklimov avatar nikolaisviridov avatar vovak avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

id-2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.