I quite often find that I'm trying to track down a bug that appeared at some point in the history of a computer program. The usual way to do this is with a binary search by hand, but it's tedious and easy to get wrong.
I'd like a tool that used something like
expect to allow me to specify a test
that could detect the problem. I could then throw the tool at a set of versions
of the software -- tarballs or version-control revisions -- and have it do a
binary search for me, finding when the problem first appeared. This could even
be used to test different versions of an operating system kernel, by
controlling a second machine or emulator down a serial line.