Inter-function Value Tracking -- The powerful inter-statement value
tracking crosses function boundaries. Functions called with
specific values are later processed, with these values used to initialize
parameters.

Multi-Pass -- To take full advantage of inter-function tracking and static variable tracking,
a multi-pass operation has been introduced. The user can control the number of
passes. (See Designer's Notes)

with value tracking as an enabling technology,
we support ‘semantics’ checking for almost 100 library functions, this
checking can be extended to user functions (see function
mimicry)

optional strong type checking (typedef-based)
with a rich option set to detect nominal type differences. You can even
form a fully checked type hierarchy of scalar types using only typedef