Article View: gnu.chess
Article #5710Re: 3.1 vs. 4.0
From: Paul Vaughan
Date: Wed, 10 Jun 1992 16:39
Date: Wed, 10 Jun 1992 16:39
69 lines
4098 bytes
4098 bytes
Stuart Cracraft wrote: It's easy to criticize but hard to fix bugs, so before you criticize software for which the source is freely available, consider familiarizing yourself with the code and Dig in! First, I really wasn't trying to be critical--I was just sharing experience. I haven't looked at the gnuchess source and I have a large mental barrier to overcome before I will do so. Basically, with gnuchess (and any chess playing program) it's extremely difficult to determine if some behavior actually is a bug unless it's something obvious, like a fatal signal. For instance, when it makes a bad move, it's hard to tell if the move is really bad or what. I'm not even sure that gnuchess unnecessarily allowing a mate in 1 necessarly constitutes a bug. Most chess programs rank moves according to how long they postpone mate even when all moves ultimately lose, but does gnuchess? I have reported such situations and offered to report more but nobody has ever expressed an interest. This leads me to believe one of the following possibilities: 1) its not necessarily a bug, 2) the bug wouldn't be reproducible anyway, 3) everyone who fixes bugs has already found more bugs than he can fix, 4) nobody is interested in fixing bugs, 5) my mail isn't getting through. I've certainly spent a lot of time identifying and isolating (but not usually fixing) bugs in other gnu (and non-gnu) software. I'm not sure bug fixers always appreciate just how valuable or time-consuming that service is. Unfortunately, most of that effort has fallen into the third category above. I wish I had a way of isolating bugs in gnuchess so that they would be reproducible. For instance, I'm never sure if just a game record, (or even a transcript from xboard in debug mode) is sufficient. For instance, if someone tries to play through the game, how can he make his machine follow the same path without giving the program different input? And what about time considerations? And just giving positions seems hopeless because of gnuchess's use of tables and other info that persists between positions. Any suggestions? I've been wondering if it would make any sense to test gnuchess against itself starting from a position. For instance whenever anything suspicious comes up in a game, try running gnuchess on the position with the same amount of time. The idea is that it would then only consider the position and not be influenced by any corrupted state info. If it still makes an obviously bad move, then the bug may be reproducible from the position but allotted time and machine speed differences may negate even this. And if it does significantly better, does that imply that something is wrong? I don't think that just staring at the code without even a reproducible bug in hand is going to accomplish much. Perhaps you (and other active contributors) could outline your own testing and debugging methodology. -- Paul Vaughan, MCC CAD Program | ARPA: vaughan@mcc.com | Phone: [512] 338-3639 Box 200195, Austin, TX 78720 | UUCP: ...!cs.utexas.edu!milano!cadillac!vaughan ---------------------------------------------------------------------------------- I was taxed between $3 to $10 today to pay interest on the national debt. ----------------------------------------------------------------------------------
Technical Details
Message-ID:
<VAUGHAN.92Jun10103925@bock.cad.mcc.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!milano!milano.mcc.com!vaughanReferences:
<9206100450.AA08053@rice-chex>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10d71d,2aad8db1e18c8e20 X-Google-Attributes: gid10d71d,public X-Google-ArrivalTime: 1992-06-10 09:56:42 PST Newsgroups: gnu.chess Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!milano!milano.mcc.com!vaughan From: vaughan@bock.cad.mcc.com (Paul Vaughan) Subject: Re: 3.1 vs. 4.0 In-Reply-To: cracraft@ai.mit.edu's message of 10 Jun 92 04:50:47 GMT Message-ID: <VAUGHAN.92Jun10103925@bock.cad.mcc.com> Sender: news@mcc.com Nntp-Posting-Host: bock.mcc.com Organization: MCC CAD Program, Austin, Texas References: <9206100450.AA08053@rice-chex> Distribution: gnu Date: Wed, 10 Jun 1992 16:39:25 GMT Lines: 70