Live data from Hacker News

DiffDebugging

martinfowler.com

41–43 of 43 posts

Re: DiffDebugging

#41

Earlier quoted context omitted.

Many working programmers don't know / use this technique. I bet it was even less used 20 years ago, it took a while till people realized what a revision history could be used for. Even if people know / use it intuitively, there's a value to describe it more formally and give it a name.

20 years ago, at least in my circles, it was ubiquitous. Because we did it manually, no one had the time to linearly search out a regression. (BTW sccs was 1972; no doubt it had predecessors. Before disks were large enough to hold multiple versions of a source tree we kept them on tape)

> 20 years ago, at least in my circles, it was ubiquitous.

In my circles, it's not ubiquitous even today.

> BTW sccs was 1972

Many projects didn't use a reasonable versioning system until 10 or 20 years ago.

Before decentralized versioning system, this technique was highly impractical - in one SVN project I worked on, checkout of a branch / revision took ~30 minutes.

CVS tracks commit on individual file basis, checking a global state of the project at a particular timestamp wasn't that trivial / necessarily correct.

Re: DiffDebugging

#42
post #15
post #5

A more generic term is "delta debugging", which has been around for a while. git bisect is one example of a tool which does it, another is Zeller's DD tool https://www.st.cs.uni-saarland.de/dd/ It's also possible to do this is a Bayesian fashion.

dd? Isn't that a problem on UNIX systems where "dd" (the disk destroyer) is a standard command.

Not really, it is shipped as DD.py

Re: DiffDebugging

#43
post #5

A more generic term is "delta debugging", which has been around for a while. git bisect is one example of a tool which does it, another is Zeller's DD tool https://www.st.cs.uni-saarland.de/dd/ It's also possible to do this is a Bayesian fashion.

I'm very curious in the Bayesian approach to bisect debugging. Got a reference?

For git bisect, there is this:

https://github.com/ealdwulf/bbchop

But it seems likely that heuristically picking a multiple of times to run the test produces similar results

Post reply on HN