Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Fixing Regressions with bisect

Luke Francl
February 01, 2011

Fixing Regressions with bisect

A quick introduction to using bisect to find regressions. This was written with Mercurial in mind, but applies equally well to git.

Delivered February 2011 for BBYOpen.

Canonical URL: http://luke.francl.org/talks/fixing-regressions-with-bisect/

Luke Francl

February 01, 2011
Tweet

More Decks by Luke Francl

Other Decks in Programming

Transcript

  1. linear search O(n)  worst case: 9 changesets 720 719

    718 717 716 715 714 713 712 711 Working Known Bug
  2. binary search O(log(n))  worst case: 4 changesets 720 719

    718 717 716 715 714 713 712 711 Known Bug Working
  3. binary search O(log(n))  worst case: 4 changesets 720 719

    718 717 716 715 714 713 712 711 Known Bug Working Bad
  4. binary search O(log(n))  worst case: 4 changesets 720 719

    718 717 716 715 714 713 712 711 Known Bug Working Bad
  5. 720 719 718 717 716 715 714 713 712 711

    Known Bug Working Bad Bad binary search O(log(n))  worst case: 4 changesets
  6. 720 719 718 717 716 715 714 713 712 711

    Known Bug Working Bad Bad binary search O(log(n))  worst case: 4 changesets
  7. 720 719 718 717 716 715 714 713 712 711

    Known Bug Working Bad Bad Good binary search O(log(n))  worst case: 4 changesets
  8. 720 719 718 717 716 715 714 713 712 711

    Known Bug Working BUG! Good binary search O(log(n))  worst case: 4 changesets Bad
  9. Lines of code examined Debug Page hg bisect HTML 270

    22 JavaScript 400 4 CSS 1,000 6 Total 1,670 32