Bisection, in software engineering, is a method for finding which change in a code history is responsible for a given behavior, most often used to locate the commit that introduced a bug. Using a divide-and-conquer strategy over a version-control history, it repeatedly tests a revision at the midpoint of the remaining candidate range and narrows the search to one half depending on the result, so the target revision is found in a number of steps proportional to the logarithm of the number of revisions being searched. The technique assumes the behavior being tracked changes monotonically across the revision history, appearing or disappearing only once within the range under test, and it can also be used to find a patch that fixed a bug rather than one that caused it. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/
Facts
Classification
Design Technique Sources
1. Wikipedia: Bisection (software engineering)
entity record, description (design-technique)Quote, entity record, description (design-technique)
Using a divide-and-conquer strategy over a version-control history, it repeatedly tests a revision at the midpoint of the remaining candidate range and narrows the search to one half depending on the result, so the target revision is found in a number of steps proportional to the logarithm of the number of revisions being searched.
View the Source Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.