ECE461 / project-f2024

0 stars 0 forks source link

project-f2024

Project Purpose:

This repository is an implementation of a command line tool which aims to help developers choose reliable open-source modules. By analyzing data from GitHub, it evaluates modules based on important factors like ease of use, correctness, contributor activity, responsiveness, and license compatibility.

Our goal is to simplify the process of assessing open-source software.

Usage:

./run install

./run <url_file>

Setup:

  1. Install Dependencies: ./run install
  2. Setup environment variables
    1. LOG_FILE (see Logging section)
    2. LOG_LEVEL (see Logging section)
    3. GITHUB_TOKEN (required)
      • Sample .env file:
        # To activate: ". .env"
        LOG_LEVEL=1
        LOG_FILE="log.log"
        GITHUB_TOKEN="gh*****"`
      • Setting in command line (Linux):
        export LOG_LEVEL=2
  3. Run unit tests or evalutate models (see Usage section)

Scoring

All scores are calculated between 0 and 1 (inclusive), a higher score corresponds to a better implementation of the metric within a repository. If the module fails to calculate the score, the score is set to -1.

Bus Factor

Bus factor is defined by "the minimum number of team members that have to suddenly disappear from a project before the project stalls due to lack of knowledgeable or competent personnel" (Source: Wikipedia).

Correctness

License

Ramp Up

Logging

Structure