Giter Site home page Giter Site logo

kp666 / bugspots Goto Github PK

View Code? Open in Web Editor NEW

This project forked from igrigorik/bugspots

0.0 2.0 0.0 125 KB

Implementation of simple bug prediction hotspot heuristic

Home Page: http://google-engtools.blogspot.com/2011/12/bug-prediction-at-google.html

Ruby 100.00%

bugspots's Introduction

Bugspots - Bug Prediction Heuristic

An implementation of the simple bug prediction heuristic outlined by the Google Engineering team: Bug Prediction at Google

Well, we actually have a great, authoritative record of where code has been requiring fixes: our bug tracker and our source control commit log! The research indicates that predicting bugs from the source history works very well, so we decided to deploy it at Google.

Point bugspots at any git repo and it will identify the hotspots for you.

Usage

$> gem install bugspots
$> bugspots /path/to/repo
$> git bugspots (in root of current git project, --help for options)

Results

$> cd /your/git/repo
$> git bugspots -d 500

  .. example output ..

	Scanning /git/eventmachine repo
	Found 31 bugfix commits, with 23 hotspots:

	Fixes:
		- Revert "Write maximum of 16KB of data to an SSL connection per tick (fixes #233)" for #273
		- Do not close attached sockets (fixes #200)
		- Write maximum of 16KB of data to an SSL connection per tick (fixes #233)
		- Merge branch 'master' into close_schedule_fix
		- Remove dependency on readbytes.rb for ruby 1.9 (fixes #167, #234)
		- Fix compilation on MSVC2008 (fixes #253)
		- EM::Deferrable#(callback|errback|timeout) now return self so you can chain them (closes #177)
		- Make EventMachine::Connection#get_peername and #get_sockname valid for IPv6 (closes #132)
		- reconnect DNS socket if closed
		- Use String#bytesize in EM::Connection#send_datagram for 1.9 (closes #153)
		- Fix an issue that would cause the EM process to block when the loopbreak pipe filled up (closes #158)
		- namespace std is already included, so just call min(). fixes vc6 issue with min macro
		- Use close() instead of closesocket() to prevent FD leaks on windows.
		- Stop advertising non-available authentication mechanisms, allow multi-line authentication - fixes compatibility with javamail
		- typo fixes and undef fstat for ruby on Windows
		- Deprecate now aged info, as it's fixed
		- Some fixes for Solaris and Nexenta (opensolaris kernel + linux userland)
		- Some fixes for solaris
		- Minor fixes for rbx compatibility
		- Reduce the size of the RunEpollOnce stack frame by 800kb. This fixes the long-standing epoll+threads issue (#84)
		- Fixed aggregated event handling for kqueue and notify, fixed path for ifconfig.
		- More win32 fixes
		- Added test for reactor_thread? and fixed up EM.schedule for pre-reactor schedules
		- Merge branch 'master' of [email protected]:eventmachine/eventmachine
		- Use read instead of recv in ConnectionDescriptor::Read (fixes EM.attach issues with pipes)
		- Use false to indicated a cancelled timer instead of using an empty proc. Reduces mem usage in certain situations.
		- Inotify fixes: file_delete only fires after fds have been closed, use syscall hackery for older linux distributions (*cough* debian)
		- Clean up deferrable.rb: fixed rdoc, alias method wrappers, remove unnecessary forwardable
		- More solaris build fixes.
		- More solaris build issues fixed
		- fixed a small bug with basic auth (cherry-pick conflict merge from mmmurf (closes #92))

	Hotspots:
		0.9723 - ext/ed.cpp
		0.3311 - ext/ed.h
		0.3271 - ext/em.cpp
		0.3034 - lib/eventmachine.rb
		0.2433 - lib/em/protocols/postgres3.rb
		0.2403 - ext/project.h
		0.0431 - lib/em/deferrable.rb
		0.029 - ext/cmain.cpp
		0.0278 - ext/rubymain.cpp
		0.0277 - ext/eventmachine.h
		0.0241 - lib/em/resolver.rb
		0.0241 - tests/test_resolver.rb
		0.0225 - lib/em/connection.rb
		0.0013 - lib/em/protocols/smtpserver.rb
		0.0003 - ext/extconf.rb
		0.0002 - tests/test_basic.rb
		0.0001 - ext/em.h
		0.0001 - ext/cplusplus.cpp
		0.0001 - ext/fastfilereader/extconf.rb
		0.0 - lib/em/filewatcher.rb
		0.0 - tests/test_file_watch.rb
		0.0 - ext/fastfilereader/mapper.cpp
		0.0 - lib/protocols/httpclient.rb

License

(MIT License) - Copyright (c) 2011 Ilya Grigorik

bugspots's People

Contributors

airblade avatar bittersweet avatar igrigorik avatar markmcspadden avatar msgerbush avatar nono avatar rbxbx avatar rumpl avatar

Watchers

 avatar  avatar

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.