(Answer) (Category) ImageCraft Products FAQ-O-Matic :
Test Strategies
IMAGECRAFT COMPILER TEST STRATEGIES

Ensuring the correctness of our compilers is our number one priority. We take pride in our work, and employ solid software engineering techniques to minimize the number of defects. Moreover, we license an industrial strength front end (the part of the compiler that understands the syntax and semantic of the C language), so that rarely have any C language bugs been discovered since our first product was shipped in 1994.
Code generators (the part of the compiler that understands the target machines) are especially difficult to test since there are many special cases and code patterns. To ensure the correctness of our compilers, we have engineered automated test suites and populated them with tests that we have written over the years. These tests touch on various aspect of the compiler, from handling different types of expressions to library function correctness.
In 2003, we went a step further by developing a test suite that allows testing a compiler for correct handling of the integer operations such as addition, subtraction, multiplication, and division in a pseudo-exhaustive manner.
These test operations are in the form of:

 c = a + b; 
and
a += b;
for hundreds of combinations of signed and unsigned 8, 16, and 32-bit operands in the various storage classes, using values chosen to be sensitive to the kinds of bugs that might occur when dealing with 16 and 32-bit variables on 8-bit machines. These tests are done for all the integer operations.
These thousands of tests are spread over a number of source files. For each file, an automated script builds the machine code, downloads it to the target system, runs it, and logs the results to a file. This approach allows large numbers of tests to be run with little operator attention even on very small target systems.
We are currently (1st quarter 2004) developing a similar test suite for floating point operations.
kristil@imagecraft.com
[Append to This Answer]
Previous: (Answer) I don't know C or I don't know much about embedded programming, what should I do?
Next: (Answer) What do I do for special order instructions (e.g. electronic licensing, upgrades, special shipper...etc.)?
This document is: http://www.dragonsgate.net/cgi-bin/FAQ/fom?file=117
[Search] [Appearance]
This is a Faq-O-Matic 2.721.
This FAQ administered by Richard Man