Skip to main content

A Python based implementation of the bug prediction algorithm proposed by Google

Project description

Bughotspots

A Python based implementation of the bug prediction algorithm proposed by Google:
Bug Prediction at Google

Example usage

Move to the repository directory

    $ cd app2
    $ bughotspots   # scans the current repo

    Scanning ../app2 repo, branch:master
    Found 490 bugfix commits on the last 60 days

Fixes
--------------------------------------------------------------------------------
      -Pull request #784: fix(something): update left offset value for help text
      -fix(something): update left offset value for help text
      -Pull request #783: fix(iframe.js): added display = block after stylesheets removal
      -fix(iframe.js): added display = block after stylesheets removal
      -Pull request #782: fix(iframe.js): AB-9155 - prevented removal of custom style
      -fix(iframe.js): AB-9155 - prevented removal of custom style
      -Pull request #779: fix(feature): copy changes
      -fix(feature): copy changes
      -Pull request #777: Fix: Updated image is not visible on reloading the feature due to lazy loading
      -fix(feature): keypress - esc / when el is not set
      -fix(eslint): app eslint resolve
      -fix(feature): clubbed f1 & f2 toggle logic | limitSelection for 3 dots
      -fix(AB-9045): handle effected pages
      -Merge branch 'master' into AB-9045
      -fix(AB-9045): handle effected pages
      -fix(feature): merging master
      -fix(feature): move event handler in utils
      -f.......

Hotspots
--------------------------------------------------------------------------------
      8.96 = app/feature/js/file1.js
      3.20 = app/feature/js/operations/file2.js
      3.07 = app/feature/js/operations/file3.js
      2.99 = package.json
      2.86 = app/feature/js/operations/file4.js
      2.28 = app/feature/js/file5.js
      2.22 = app/modules/feature/file6.js
      2.18 = app/modules/feature/file7.js
      1.95 = app/feature/js/operations/file8.js
      1.88 = app/feature/js/file9.js

Scores mentioned in the Hotspots section are specific to the files and depict the rate of frequecny with which the file encounters errors and bug fixes. The higher the score, the more erroneous the file commit history.

Parameters supported

Optional Argument Description Example usage
-h, --help Shows the help dialog describing usage bughotspots --help
--days Days ago to compute bug factor, default value: 30 bughotspots --days 60
--limit Max amount of results to show, default value: 10 bughotspots --limit 100
--branch Use a specific branch, default value: 'master' bughotspots --branch feature-branch
--bugsFile Use a file with list of bugs to search in commits, default to searching commits with QF issues mentioned bughotspots --bugsFile bugs.csv
--paths Provide repository paths to look into, default to search in current directory bughotspots --paths ../app2 ../app1

Build process

Build through setup.py

python setup.py build

Install the build

python setup.py install

Execution after installation

bughotspots --paths app2 app1 --days 60 --bugsFile bugIDs.csv --limit 100

Project details


Release history Release notifications | RSS feed

This version

0.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bughotspots-0.5.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bughotspots-0.5-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file bughotspots-0.5.tar.gz.

File metadata

  • Download URL: bughotspots-0.5.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for bughotspots-0.5.tar.gz
Algorithm Hash digest
SHA256 3fc4b84eba13f2fd6197a9ea4b7b1f8a2fec1bdb6985a6808e52072e25278166
MD5 f2ca6c3834e7e2fe42413be771e19d71
BLAKE2b-256 45a9e08a6ca64a13af4bd3202f5225526dab40878964611d0ea24f6d5943effc

See more details on using hashes here.

File details

Details for the file bughotspots-0.5-py3-none-any.whl.

File metadata

  • Download URL: bughotspots-0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.9

File hashes

Hashes for bughotspots-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ceca1e05f451514e4694890c28d63b12a830b8eaf79614ffac1a431ffde210b4
MD5 453b088eaaa4d99bb63355838f843a4b
BLAKE2b-256 553a3e919fefa09279ef81ac2daad1657c696a4990b50818adc4886e8913df4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page