Tracing protocols

Automated protocol validation tools are by necessity often based on some form of symbolic execution. The complexity of the analysis problem however imposes restrictions on the scope of these tools. The paper studies the nature of these restrictions and explicitly addresses the problem of finding errors in data communication protocols of which the size precludes analysis by traditional means. The protocol tracing method described here allows one to locate design errors in protocols relatively quickly by probing a partial state space. This scatter searching method was implemented in a portable program called Trace. Specifications for the tracer are written in a higher-level language and are compiled into a minimized finite state machine model, which is then used to perform either partial or exhaustive symbolic executions. The user of the tracer can control the scope of each search. The tracer can be used as a fast debugging tool but also, depending on the complexity of the protocol being analyzed, as a slower and rather naive correctness prover. The specifications define the control flow of the protocol and may formalize correctness criteria in assertion primitives.

[1]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[2]  Gerard J. Holzmann A Theory for Protocol Validation , 1982, IEEE Transactions on Computers.

[3]  Daniel Brand,et al.  Towards Analyzing and Synthesizing Protocols , 1980, IEEE Trans. Commun..

[4]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[5]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[6]  R. P. Kurshan Proposed specification of BX.25 link layer protocol , 1985, AT&T Technical Journal.

[7]  T. S. E. Maibaum,et al.  A Synchronization Calculus for Message Oriented Programming , 1981, ICDCS.

[8]  Yechiam Yemini,et al.  Protocol specification, testing, and verification, IV : proceedings of the IFIP WG 6.1 fourth International Workshop on Protocol Specification, Testing, and Verification , 1985 .

[9]  Thomas P. Blumer,et al.  A Formal Specification Technique and Implementation Method for Protocols , 1982, Comput. Networks.

[10]  Gerard J. Holzmann,et al.  Automated Protocol Validation in Argos: Assertion Proving and Scatter Searching , 1987, IEEE Transactions on Software Engineering.

[11]  Gerard J. Holzmann The Pandora System: An Interactive System for the Design of Data Communication Protocols , 1984, Comput. Networks.

[12]  C. H. West,et al.  Applications and Limitations of Automated Protocol Validation , 1982, Protocol Specification, Testing and Verification.

[13]  Daniel Brand,et al.  Verification of Protocols Using Symbolic Execution , 1978, Comput. Networks.