From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=BAYES_00,TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.5-pre1 Date: 17 Sep 92 07:20:42 GMT From: gvls1!lonjers@louie.udel.edu (Jim Lonjers) Subject: Re: Play 20K expressions again, Sam Message-ID: <1992Sep17.072042.28910@gvl.unisys.com> List-Id: In article <1992Sep9.180517.20788@inmet.camb.inmet.com> arra@orb.camb.inmet.com (Arra Avakian) writes: >Perhaps even more significant, if the developers bootstrap (compile their >compiler using their compiler), then you know that their compiler has >successfully compiled a fairly large and complex application program, >increasing the liklihood YOUR program will compile and execute without problem s. >(As has been mentioned here before, the ACVC does not serve this purpose!) > >Real world test suites are critical to compiler quality, no matter the >language it compiles or the its implementation language. >Boostrapping puts a real world test case in the hands of the compiler develope r, >with a very desirable impact on its quality. While this is undoubtably true, we must really be careful about how much a compiler vendor believes in this as a testing method. In a prior life, I was responsible for the Unisys ALGOL compiler which was written in Unisys ALGOL. We implemented coverage analysis, which marked which lines in a program are covered in an execution. After compiling the compiler with the compiler, we ended up with on 20% of the compiler covered. There are lots of reasons for this, but the compiler 1. is a batch program and thus does not do any interactive I/O. 2. is a single thread of execution so it used no tasking. 3. had no static errors, nor any uncorrected execution time errors, so the error detection/correction logic was not used. 4. had to be fast (~ 10_000 lines per minute on a 1 MIPS machine), so it did nothing with dynamic memory allocation. This list can get very long, but you get the idea.