Construction of Systems Software Using Specifications of
Procedure Calling Conventions
Mark W. Bailey
Jack W. Davidson
- Abstract
-
Applications, such as compilers and debuggers, which generate, or
process procedures at the machine-language abstraction level require
knowledge of the procedure calling convention. Currently, applications
that process procedures implement conventions in an ad-hoc manner. The
resulting code is complicated with details, difficult to maintain, and
often plagued with errors. In this paper, we describe the only known
formal model and specification language for procedure calling
conventions. The model and language, in combination, facilitate the
accurate specification of conventions that can be shown to be both
consistent and complete. Further, we show how the convention
specifications can be used to automatically generate that part of the
code generator responsible for generating procedure calls. Finally, we
discuss a new compiler testing technique that uses the specifications
to further close the gap between actual compiler implementations and
correct compilers. The technique, which uses a target-sensitive test
suite generator, has exposed and diagnosed faults in several C
compilers.
Maintained by Mark Bailey
(bailey@virginia.edu)
Last modified: Sat Jan 11 11:41:04 1997