All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ealdwulf Wuffinga <ealdwulf@googlemail.com>
To: Git List <git@vger.kernel.org>
Cc: John Tapsell <johnflux@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	Christian Couder <chriscool@tuxfamily.org>
Subject: Generalised bisection
Date: Mon, 9 Mar 2009 01:40:08 +0000	[thread overview]
Message-ID: <efe2b6d70903081840v18e77aa7w2dac2bed553d0d6a@mail.gmail.com> (raw)

[whoops, mail server does not like html. trying again...]

Hi,

I have developed a generalised bisection algorithm, for the case where
a bug is intermittent. The code may be found at
git://github.com/Ealdwulf/bbchop.git. It should be considered
experimental.

This should cover the use cases requested by Ingo
(http://article.gmane.org/gmane.comp.version-control.git/108565) and
John  (http://article.gmane.org/gmane.comp.version-control.git/112280),
although it does not work in the same way as your proposed solutions -
it is intended to be more general, working when the bug is not
almost-deterministic. It is based on Bayesian Search Theory
(http://en.wikipedia.org/wiki/Bayesian_search_theory, although that
description is a bit simplistic) which is usually used to find
submarines, or people lost on mountains.

To try it out, you need python and mpmath (from
http://code.google.com/p/mpmath/ or your distribution).
Once your have obtained the source, you can immediately run BBChop/source/bbchop
which is the main driver program.

It is not currently integrated into git, although doing so should only
involve minor scriptery.

The simplest way to try it out to is run it in manual mode:


>   bbchop -l 10 -c 0.9

This means, search in a linear history of 10 revisions, numbered 0 to
9, until bbchop thinks it has found
the faulty location with probability at least 0.9. It will start
asking questions:

] Most likely location is 0 (probability 0.100000).
] Please test at location 3.
] Target detected at 3? Y/N/S(kip)

Eventually the search will terminate and BBChop will print out its
conclusion, with evidence, eg:

] Search complete.  Most likely location is 3 (probability 0.919614).
] Number of tests at 3: 3 of which 1 detected
] Number of tests at parents of 3:
]         At 2, 5 of which 0 detected

More information canbe found in the readme file.

Feel free to reply with any comments, questions, etc. If anyone tries
it out on a real bug, please let me know how it goes.

regards,

Ealdwulf

             reply	other threads:[~2009-03-09  1:42 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-09  1:40 Ealdwulf Wuffinga [this message]
2009-03-10  7:08 ` Generalised bisection Christian Couder
2009-03-11  8:59   ` Ealdwulf Wuffinga
2009-03-11  9:35     ` John Tapsell
2009-03-11 12:05       ` Johannes Schindelin
2009-03-11 12:08         ` John Tapsell
2009-03-11 13:04           ` Johannes Schindelin
2009-03-11 13:24             ` John Tapsell
2009-03-11 22:14               ` Ealdwulf Wuffinga
2009-03-11 22:15       ` Ealdwulf Wuffinga
2009-03-12  6:45         ` John Tapsell
2009-03-12 10:55           ` Johannes Schindelin
2009-03-12 18:02             ` Steven Tweed
2009-03-13 10:00               ` Ealdwulf Wuffinga
2009-03-13 12:49               ` Ealdwulf Wuffinga
2009-03-13 15:19                 ` Steven Tweed
2009-03-15 19:16                   ` Ealdwulf Wuffinga
2009-03-16 10:29                     ` Steven Tweed
2009-03-16 10:37                       ` John Tapsell
2009-03-16 22:47                         ` Ealdwulf Wuffinga
2009-03-16 22:08                       ` Ealdwulf Wuffinga
2009-03-13  9:58           ` Ealdwulf Wuffinga
2009-03-13 10:55             ` Johannes Schindelin
2009-03-13 12:42               ` John Tapsell
2009-03-13 13:56                 ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=efe2b6d70903081840v18e77aa7w2dac2bed553d0d6a@mail.gmail.com \
    --to=ealdwulf@googlemail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=johnflux@gmail.com \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.