API Sanity AutoTest is a tool for low cost automatic generation of basic tests for shared libraries based on the information in library header files and additional information about semantics of some library data types. Such tests can call APIs of target libraries with some correct parameters, and can detect typical problems like “out-of-the-box” crashes.
Using this method significantly lowers the barrier for developing an initial version of library tests. It can be then gradually improved with a more powerful test development framework as more resources become available. The method is based on analyzing API signatures and type definitions obtained from the library header files, and on creating parameter initialization sequences through comparison of target function parameter types with return values or out-parameters of the other functions (usually, it is necessary to call a function to get a correct parameter value for another function, and the initialization sequence of necessary function calls can be quite long).