[darcs-users] Delta Debugging

Andrew Pimlott andrew at pimlott.net
Mon May 24 23:41:12 UTC 2004


On Mon, May 24, 2004 at 03:59:01PM -0700, Kenneth Knowles wrote:
> I see what you mean (just did it myself, and left the transcript below for the
> reading pleasure of the list).  It would be even worse if there were 100
> sub-patches and consistency only existed when the first and last were both
> applied.  Yikes!

Actually, I don't think it's that bad (if I understand what you mean),
because ddmin will still be able to eliminate the "in between" subsets
that don't prevent the failure.  That's the first thing I tried when
looking for a pathological case.  It took me a few tries to find the
example I gave.

Here's my code for that case, in case anyone is curious.

    import DD

    class DDT(DD.DD):
        def _test(self, deltas):
            if 1 in deltas and not 8 in deltas:
                return self.UNRESOLVED
            if 8 in deltas and not 1 in deltas:
                return self.UNRESOLVED
            if 1 in deltas:
                return self.FAIL
            return self.PASS

    if __name__ == '__main__':
        c = DDT().ddmin([1, 2, 3, 4, 5, 6, 7, 8])
        print "The 1-minimal failure-inducing difference is", c

Andrew




More information about the darcs-users mailing list