Systems and methods for automatically generating message prototypes for accurate and efficient opaque service emulation
First Claim
1. A method of service emulation, the method comprising:
- recording a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory;
clustering ones of the recorded plurality of messages to define a plurality of message clusters;
generating respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the recorded plurality of messages of the corresponding message clusters, wherein the generating the respective cluster prototypes comprises;
aligning the ones of the recorded plurality of messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters;
identifying common characters based on a frequency of occurrence at the respective positions indicated by the aligning; and
extracting a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning, wherein extracting the sequence comprises;
determining a lack of consensus based on the frequency of occurrence at the respective positions; and
inserting wildcard characters into the sequence responsive to determining the lack of consensus;
automatically identifying one of the message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and
automatically generating a response to the request for transmission to the system under test based on the one of the message clusters that was identified and transmitting the response to the system under test,wherein the recording, the clustering, the generating the respective cluster prototypes, the identifying, and the generating the response comprise operations performed by a processor coupled to the memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In a method of service emulation, a plurality of messages communicated between a system under test and a target system for emulation are recorded in a computer-readable memory. Ones of the messages are clustered to define a plurality of message clusters, and respective cluster prototypes are generated for the message clusters. The respective cluster prototypes include a commonality among the ones of the messages of the corresponding message clusters. One of the message clusters is identified as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes, and a response to the request for transmission to the system under test is generated based on the one of the message clusters that was identified. Related computer systems and computer program products are also discussed.
-
Citations
16 Claims
-
1. A method of service emulation, the method comprising:
-
recording a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory; clustering ones of the recorded plurality of messages to define a plurality of message clusters; generating respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the recorded plurality of messages of the corresponding message clusters, wherein the generating the respective cluster prototypes comprises; aligning the ones of the recorded plurality of messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters; identifying common characters based on a frequency of occurrence at the respective positions indicated by the aligning; and extracting a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning, wherein extracting the sequence comprises; determining a lack of consensus based on the frequency of occurrence at the respective positions; and inserting wildcard characters into the sequence responsive to determining the lack of consensus; automatically identifying one of the message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and automatically generating a response to the request for transmission to the system under test based on the one of the message clusters that was identified and transmitting the response to the system under test, wherein the recording, the clustering, the generating the respective cluster prototypes, the identifying, and the generating the response comprise operations performed by a processor coupled to the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system, comprising:
-
a processor; and a memory coupled to the processor, the memory comprising computer readable program code embodied therein that, when executed by the processor, causes the processor to; record a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory; cluster ones of the plurality of messages to define a plurality of message clusters; generate respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the plurality of messages of the corresponding message clusters wherein, to generate the respective cluster prototypes, the computer readable program code, when executed by the processor, further causes the processor to; align the ones of the messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters; identify common characters based on the frequency of occurrence at the respective positions indicated by alignment thereof; and extract a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning, wherein to extract the sequence, the computer readable program code, when executed by the processor, further causes the processor to; determine a lack of consensus based on the frequency of occurrence at the respective positions; and insert wildcard characters into the sequence responsive to determining the lack of consensus; automatically identify one of the message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and automatically generate a response to the request for transmission to the system under test based on the one of the message clusters that was identified and to transmit the response to the system under test. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied in the medium, the computer readable program code comprising; computer readable code to record a plurality of messages communicated between a system under test and a target system for emulation in a computer-readable memory; computer readable code to cluster ones of the plurality of messages to define a plurality of message clusters; computer readable code to generate respective cluster prototypes for the plurality of message clusters with respect to the plurality of message clusters, the respective cluster prototypes comprising a commonality among the ones of the plurality of messages of the corresponding message clusters; computer readable code to automatically identify one of the plurality of message clusters as corresponding to a request from the system under test based on a comparison of the request with the respective cluster prototypes; and computer readable code to automatically generate a response to the request for transmission to the system under test based on the one of the message clusters that was identified and to transmit the response to the system under test, wherein the computer readable code to generate respective cluster prototypes comprises computer readable code to; align the ones of the messages of the corresponding message clusters according to respective positions of the ones of the recorded plurality of messages of the corresponding message clusters; identify common characters based on the frequency of occurrence at the respective positions indicated by the aligning; and extract a sequence comprising the common characters from the ones of the messages of the corresponding message clusters responsive to the aligning by determining a lack of consensus based on the frequency of occurrence at the respective positions and inserting wildcard characters into the sequence responsive to determining the lack of consensus.
Specification