The process of locating the changeset that introduced a specific regression was described as "source change isolation" in 1997 by Brian Ness and Viet Ngo of Cray Research.
[1] Code bisection has the goal of minimizing the effort to find a specific change set.
For a Boolean function such as a pass/fail test, this means that it only changes once across all changesets between the start and end of the search space.
If there are multiple changesets across the search space where the behavior being tested changes between false and true, then the bisection algorithm will find one of them, but it will not necessarily be the root cause of the change in behavior between the start and the end of the search space.
[2] The revision control systems Fossil, Git and Mercurial have built-in functionality for code bisection.
Other revision control systems, such as Bazaar or Subversion, support bisection through plugins[6] or external scripts.