1. A data processing system-implemented method for directing a data processing system to investigate computer software, the data processing system-implemented method comprising: determining whether one or more boundary points of the computer software is one of a layer boundary point, a synchronous control boundary point, and an asynchronous control boundary point; capturing tracing information at the one or more boundary points of the computer software in response to the determining; reproducing a behavior of the computer software at the one or more boundary points based on the captured tracing information; interpreting the captured tracing information to distinguish individually traced boundary points among the one or more boundary points; in response to the determining that the one or more boundary points is the layer boundary point, defining the tracing information in response to zero or more arguments and a return code for each function defining the layer boundary point of said one or more boundary points; and in response to the determining that the one or more boundary points is the synchronous boundary point or the asynchronous boundary point, defining the tracing information in response to at least one of data sent and data received across the synchronous control boundary point or the asynchronous control boundary point of said one or more boundary points.