Clone this repo:

Branches

  1. b80ac83 Fix: Handle utf-8 decode errors when parsing commits by Brendan Higgins · 12 months ago main master
  2. deeeed0 Fixed pytype errors by Brendan Higgins · 12 months ago
  3. bae9643 Added ability to print file paths with bug numbers by Brendan Higgins · 12 months ago
  4. 0738094 Initial commit by Brendan Higgins · 12 months ago

Kernel Bug Heat Map Builder

This is a tool that scans git repos, extracts bug fix information from git commits, and aids in the analysis and visualization of that bug fix information.

This tool was orginally created for doing analysis on the Linux kernel; however, this tool can likely be adapted to do analysis on any git repo that includes bug fix information in commit messages in a sufficiently structured way.

How to use this tool

  1. Set your current working directory to the root of the git repo to be analyzed.
  2. Build the file to bug mapping:
    $PATH_TO_BUG_HEAT_MAP_BUILDER/heat_map_builder.py build_map $BUG_MAP_FILE_NAME
    
    This builds the mapping between bugs and source files that subsequent analysis will be based on.
  3. Analyze the information, and vizualize the results: The heat_map_builder.py supplies additional commands to do analysis on the file to bug mapping.

Source Code Headers

Every file containing source code must include copyright and license information. This includes any JS/CSS files that you might be serving out to browsers. (This is to help well-intentioned people avoid accidental copying that doesn't comply with the license.)

Apache header:

Copyright 2022 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.