Title:
Random_Testing_of_C_Calling_Conventions Download
Description: In a C compiler, function calls are difficult to implement
correctly because they must respect a platform-specific calling
convention. But they are governed by a simple invariant:
parameters passed to a function must be received unaltered.
A violation of this invariant signals an inconsistency in a
compiler. We automatically test the consistency of C compilers
using randomly generated programs. An inconsistency
manifests itself as an assertion failure when compiling and
running the generated code. The generation of programs is
type-directed and can be controlled by the user with composable
random generators in about 100 lines of Lua. Lua
is a scripting language built into our testing tool that drives
program generation. Random testing is fully automatic, requires
no specification, yet is comparable in effectiveness
with specification-based testing from prior work. Using this
method, we uncovered 13 new bugs in mature open-source
and commercial C compilers.
To Search:
File list (Check if you may need any files):
_of_C_Calling_Conventions.rar
Random_Testing_of_C_Calling_Conventions.pdf