For Programmers: Free Programming Magazines  


Home > Archive > Compilers > May 2007 > C compiler validation suite









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author C compiler validation suite
Martin Filteau

2007-04-19, 4:17 am

Hi all,

I'm in the process of selecting a validation suite for conformance
testing of our new C compiler. The compiler will be ISO C99 and will
support TR18037 (Embedded C extensions).

Which validation suite would you recommend ?

SuperTest from ACE
http://www.ace.nl/compiler/supertest.html

CVSA from Perennial
http://www.peren.com/pages/cvsa_set.htm

PlumHall
http://www.plumhall.com/stec.html

Nullstone
http://www.nullstone.com/htmls/ns-c.htm


-mf
Derek M. Jones

2007-04-19, 4:17 am

Martin,

> I'm in the process of selecting a validation suite for conformance
> testing of our new C compiler. The compiler will be ISO C99 and will
> support TR18037 (Embedded C extensions).
>
> Which validation suite would you recommend ?


Some work I did to evaluate the validation suite used by NIST
(Perennial) is described here:
http://www.knosof.co.uk/whoguard.html

Similar was was done for BSI (who used PlumHall) and the
results were remarkably similar.

I have never used the Nullstone or Ace suites and so don't
know how they perform.

Christopher Glaeser

2007-05-08, 8:08 am

Nullstone is an automated compiler performance analysis tool and it not a
validation suite per se, but it does check results to ensure the optimized
code is both fast and correct. It also includes a variety of test
categories that are specifically designed to catch the optimizer performing
overzealous optimizations. A couple examples include power-of-2 integer
division where the optimizer attempts to negate the largest negative number
(a very common defect when Nullstone was first released), and loop unrolling
of loops with an unsigned loop control variable that wraps across zero.

In addition, the coverage analysis of testing each optimization with all
applicable language features (e.g. data type = char, short, int, ... storage
class = static, auto, ..., operator = plus, minus, left shift, right shift,
.....) within various types of control flow (e.g. basic block, extended basic
block, simple loop, ...) isolates defects in corner cases that are otherwise
undetected. See www.nullstone.com for more information.

Best,
Christopher

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com