As in the Bandera project [6] specification patterns are used to facilitate formulating correctness properties. These specification patterns concern temporal properties of method invocations, and are either temporal patterns or judgement patterns concerning the invocation of a particular method. Below a set of patterns that we have defined, and which are commonly used, are given.
To express that within the call of a method 
the property 
 holds
the judgment pattern
The above patterns can be combined with the 
 pattern.
For example, 
An alternative technique for expressing correctness
properties of behaviours of programs of stack-based languages
is to use stack inspection techniques [13].
Essentially these techniques express constraints on 
the set of all possible runtime stacks. Note however that
for instance the 
 property above
cannot directly be coded as a stack inspection property 
since the calls to 
 and 
 need not be concurrent.