In an implementation, a distributed system checker may interpose the API with an interposition layer and may automatically expose and explore the success and failure choices within the API. In an implementation with WinAPI, the following types of functions may be checked for failure: resource allocators such as malloc (or the C++ equivalent operator new), CreateThread, and WSASocket (WinAPI to all