Jump to content

Bisection (software engineering)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hdu hh (talk | contribs) at 07:58, 4 June 2012 (Starting Code Bisection page). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Code Bisection is a method used in software development to identify changes that resulted in a specific behavior change. It is mostly employed for finding the patch that introduced a bug. Another application area is finding the patch that indirectly fixed a bug.

The code bisection method depends on a code repository and its revision control. With code history having the properties of a acyclic directed graph it is possible to iteratively split the search space, test for the behavior in question and depending on the result reduce the search space for the next iteration step.

For code bisection it is desirable that each revision in the search space can be compiled and tested independently.

Some revision control systems like Git or Mercurial support this method directly.