Interprocedural Analysis

Static verification detects inconsistent object declarations in different program units, for example:

The following examples illustrate interprocedural analysis.

Example 1: Wrong type

File config1.c contains the following line:

31    int extraSpace , pad , height , width , rows , bot , top , trow ;

File dimbox.c contains the following line:

13    char **rows ;

Static verification issues the following message:

dimbox.c(13): error #12090: variable "rows" declared inconsistently (wrong type). See (file:config1.c line:31)

Example 2: Wrong number of arguments

File controlf.c contains function declaration in the following line:

controlf()

File uloop2.c contains the following line:

65     fds = controlf( 1 ) ;

Static verification issues the following message:

uloop2.c(65): error #12020: wrong number of arguments