Skip to content

DiffDash Drone is a tool designed to analyze the git history of a repository then identify and predict Bugspots via LLM tools

Notifications You must be signed in to change notification settings

Mocksi/DiffDashDrone

Repository files navigation

Diff Dash Drone@0 2x

Your Wingman in Decoding and Defeating Bugs

Overview

DiffDash Drone is a tool designed to analyze the git history of a repository and identify potential "bugspots".

It parses the .git history into a DuckDB database and generates a report in Parquet format highlighting files that are more likely to be bugspots, based on commit messages that indicate high churn and include keywords like "Revert" or "Fixes".

Features

  • Git History Parsing: Clone and parse git repository histories.
  • Bugspot Analysis: Analyze commit messages and file churn to identify potential bugspots.
  • Report Generation: Generate a detailed report in Parquet format for easy integration with data analysis tools.

Requirements

  • Go (Version 1.x or later)
  • Access to a Git repository

Dependencies

  • go-git
  • go-github
  • go-duckdb
  • tqdm (for progress bar visualization)

Installation

Download the latest binaries from the releases page

Manual Installation

  1. Clone the repository:
    git clone <repository-url>
  2. Install Go
  3. Install dependencies:
    go mod download
    go mod verify
  4. Build and Run:
    go build
    ./diffdash-drone

Usage

```bash
diffdash-drone [OPTIONS] <path-to-local-repository>
```

Options

  • --help: Display help information
  • --version: Display version information
  • --parquet: Only generate a Parquet file
  • --bugspots: Only generate a Basic Bugspots report
  • --prediction: Using a prediction model, generate an extended Bugspots report that can identify potential bugspots in the future

Note: If neither --parquet nor --bugspots are specified, both a Parquet file and a Basic Bugspots report will be generated.

TODO:

  • Create a Storage package
  • Store all Git data in a DuckDB database.
  • Create an Analyzer package
  • Create a Reporter package
  • Hook up to the LLM cli
  • Make magic happen
  • Build release binaries
  • Add a --help option
  • Add a --version option
  • Add a --parquet option
  • Add a --bugspots option
  • Add a --prediction option
  • Enable having multiple repositories/multiple database files

About

DiffDash Drone is a tool designed to analyze the git history of a repository then identify and predict Bugspots via LLM tools

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages