i. Introduction

The C program static checker was originally developed as a programming tool to aid the construction of portable programs using the Application Programming Interface (API) model of software portability; the principle underlying this approach being:

If a program is written to conform to an abstract API specification, then that program will be portable to any machine which implements the API specification correctly.

This approach gave the tool an unusually powerful basis for static checking of C programs and a large amount of development work has resulted in the production of the TenDRA C static checker (invoked as tcc -ch). The terms, TenDRA C checker and tcc -ch are used interchangably in this document.

Responsibilities of the C static checker are: