Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Thomas Koenig Newsgroups: comp.compilers Subject: Re: binary search debugging of compilers Date: Sun, 14 May 2023 19:59:21 -0000 (UTC) Organization: news.netcologne.de Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <23-05-007@comp.compilers> References: <23-05-003@comp.compilers> Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="85036"; mail-complaints-to="abuse@iecc.com" Keywords: debug, tools Posted-Date: 14 May 2023 22:41:57 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:3463 Russ Cox schrieb: > As I mentioned at the top, I am interested to hear about earlier uses > of approaches like this, or any other ideas for situations where the > approach might be applicable. Clearly the general problem has overlaps > with group testing [1], and in particular Hwang's binary search-based > approach (1972) [2]. For GCC regression-hunting, two techniques are routinely used. One of them is the use of "gcc bisect", described at https://git-scm.com/docs/git-bisect . If there is a failing test case, this can (at the cost of some CPU time) usually pinpoint offending commit. For reducing test cases, at least for C and C++, cvise https://github.com/marxin/cvise is now the mehod of choice; it is brutally efficient at reducing test cases to an absolute minimum. Because it can transform C and C++ programs, it can make transformations of the program which are language-aware. Both are tools external to the compiler.