Testing and reproduction of concurrency issues
First Claim
1. A method for testing a server code in a server concurrently handling multiple client requests, the method comprising:
- creating a job-specific breakpoint in the server code using a library application programming interface, wherein the job-specific breakpoint in the server code is enabled or disabled based on a job identifier dynamically retrieved during execution of the server code using the library application programming interface, the library application programming interface controls the job-specific breakpoint in the server code, the library application programming interface comprises,a plurality of readymade functions that execute, in a desired sequence, various synchronous and asynchronous program paths associated with the multiple client requests and are capable of establishing a new server connection with the server and retrieving the job identifier from the server associated with the established new server connection;
based on the job identifier, pausing an execution of a client job by based on enabling the job-specific breakpoint in the server code using the library application programming interface;
based on the job identifier, resuming the execution of the client job by based on disabling the job-specific breakpoint in the server code using the library application programming interface;
debugging and reproducing one or more concurrency issues in the server code based onthe pausing and resuming of the execution of the client job; and
writing, using the library application programming interface, readable and repeatablereproduction scripts and test cases containing interleaved executions of parallel client requests through various breakpoints.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for testing a server code in a server concurrently handling multiple client requests create a job-specific breakpoint in the server code using a library application programming interface (API) that allows the job-specific breakpoint in the server code being enabled or disabled based on a job identifier. The library API controls the job-specific breakpoint in the server code via a plurality of readymade functions that execute, in a desired sequence, various synchronous and asynchronous program paths associated with the multiple client requests. By using the library API, the method and system are capable of establishing a new server connection with the server and retrieving the job identifier from the server associated with the established new server connection, pausing execution of a client job based on enabling the job-specific breakpoint, and resuming execution of the client job based on disabling the job-specific breakpoint.
23 Citations
18 Claims
-
1. A method for testing a server code in a server concurrently handling multiple client requests, the method comprising:
-
creating a job-specific breakpoint in the server code using a library application programming interface, wherein the job-specific breakpoint in the server code is enabled or disabled based on a job identifier dynamically retrieved during execution of the server code using the library application programming interface, the library application programming interface controls the job-specific breakpoint in the server code, the library application programming interface comprises, a plurality of readymade functions that execute, in a desired sequence, various synchronous and asynchronous program paths associated with the multiple client requests and are capable of establishing a new server connection with the server and retrieving the job identifier from the server associated with the established new server connection; based on the job identifier, pausing an execution of a client job by based on enabling the job-specific breakpoint in the server code using the library application programming interface; based on the job identifier, resuming the execution of the client job by based on disabling the job-specific breakpoint in the server code using the library application programming interface; debugging and reproducing one or more concurrency issues in the server code based on the pausing and resuming of the execution of the client job; and writing, using the library application programming interface, readable and repeatable reproduction scripts and test cases containing interleaved executions of parallel client requests through various breakpoints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system for testing a server code in a server concurrently handling multiple client requests, the computer system comprising:
-
one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising; creating a job-specific breakpoint in the server code using a library application programming interface, wherein the job-specific breakpoint in the server code is enabled or disabled based on a job identifier dynamically retrieved during execution of the server code using the library application programming interface, the library application programming interface controls the job-specific breakpoint in the server code, the library application programming interface comprises, a plurality of readymade functions that execute, in a desired sequence, various synchronous and asynchronous program paths associated with the multiple client requests and are capable of establishing a new server connection with the server and retrieving the job identifier from the server associated with the established new server connection; based on the job identifier, pausing an execution of a client job by based on enabling the job-specific breakpoint in the server code using the library application programming interface; based on the job identifier, resuming the execution of the client job by based on disabling the job-specific breakpoint in the server code using the library application programming interface; debugging and reproducing one or more concurrency issues in the server code based on the pausing and resuming of the execution of the client job; and writing, using the library application programming interface, readable and repeatable reproduction scripts and test cases containing interleaved executions of parallel client requests through various breakpoints. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
Specification