1. A method for developing a message-passing application program having a first program module with a plurality of asynchronous functions that communicate with operations of a second program module, the method comprising: defining a behavioral type signature for one of the plurality of asynchronous functions, the behavioral type signature specifying message-passing properties for the asynchronous function; and analyzing the asynchronous function against the behavioral type signature to render an evaluation on whether message-passing actions of the asynchronous function during execution of the message-passing application program will conform to the message-passing properties specified by the behavioral type signature.