|[ANN] Quest - test code generator for C email@example.com (Christian Lindig) (2004-05-16)|
|Re: [ANN] Quest - test code generator for C firstname.lastname@example.org (2004-05-30)|
|From:||Christian Lindig <email@example.com>|
|Date:||16 May 2004 23:39:52 -0400|
|Organization:||University of Saarland, Computing Center, Germany.|
|Summary:||Quest generates C code to test calling convention|
|Keywords:||C, testing, available|
|Posted-Date:||16 May 2004 23:39:52 EDT|
I would like to announce the first release of Quest, a test code
generator. Quest generates C code that validates the function-call
implementation of C compilers for complex arguments. As such, Quest is
most useful for developers of C compilers and anybody interested in
the correctness of C compilers. So far, Quest has uncovered bugs in
recent versions of GCC and in the MipsPro compiler on SGI. My plan is
to collect more bugs found with Quest.
Quest does not require a specification; it generates code
randomly. The generated code tests that complex values passed to a
function, like structs or arrays, are received as they were
passed. Unxepected behavior it reports to stdout. The generated code
includes no header file but assumes the presence of
printf(). Therefore the code should be fairly portable.
The generated code is substantially different from real-world code and
that is why it is useful. Real-world programs rarely pass complex
values and cannot be used to test the implementation of this language
Quest can generate code with caller and callee in different
compilation units. When these are compiled by different compilers,
their interoperability and adherence to the standard calling
convention can be tested.
Quest is distributed as open source under a BSD-style license. It is
implemented in Objective Caml but a binary Debian package for x86 is
available. You can also download pre-generated test cases that do not
require the prior installation of Quest.
Your comments and especially experience reports are welcome!
Christian Lindig http://www.st.cs.uni-sb.de/~lindig/
Return to the
Search the comp.compilers archives again.