Title :
Reverse-engineering of communication protocols
Author :
Lee, David ; Sabnani, Krishan
Author_Institution :
AT&T Bell Lab., Murray Hill, NJ, USA
Abstract :
The authors study the problem of locating the differences between a protocol specification and its implementation. They give an exact procedure for solving this problem. If there is only one difference between the implementation and the specification, then the algorithm will locate the difference and therefore identify the implementation machine. Otherwise, it will detect that the implementation machine has more than one change. The run time of the algorithm is a low-degree polynomial in the number of states and inputs of the machine. Both a brute-force version of the algorithm with a cost O(pn5), where n is the number of states of the specification machine and p is the number of inputs, and a fast algorithm with a cost O(pn3 log n) are described. An improvement for which the cost on the average is O(pn2 log n) is also given. A heuristic procedure that uses a test of comparable length to a conformance test sequence which has been used successfully in practice is described
Keywords :
conformance testing; protocols; reverse engineering; algorithm; communication protocols; conformance test sequence; finite state machine; heuristic procedure; implementation machine; low-degree polynomial; protocol specification; reverse engineering; run time; specification machine; Automata; Automatic testing; Change detection algorithms; Computer aided manufacturing; Computer industry; Condition monitoring; Costs; Formal specifications; Polynomials; Protocols;
Conference_Titel :
Network Protocols, 1993. Proceedings., 1993 International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
0-8186-3670-X
DOI :
10.1109/ICNP.1993.340917