Verification of communication protocols using data flow analysis

  • Authors:
  • Gleb N. Naumovich;Lori A. Clarke;Leon J. Osterweil

  • Affiliations:
  • Laboratory for Advanced Software Engineering Research, Computer Science Department, University of Massachusetts, Amherst, Massachusetts;Laboratory for Advanced Software Engineering Research, Computer Science Department, University of Massachusetts, Amherst, Massachusetts;Laboratory for Advanced Software Engineering Research, Computer Science Department, University of Massachusetts, Amherst, Massachusetts

  • Venue:
  • SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we demonstrate the effectiveness of data flow analysis for verifying requirements of communication protocols. Data flow analysis is a static analysis method for increasing confidence in the correctness of software systems by automatically verifying that a given software artifact (e.g., design or code) must behave consistently with a specified requirement. In this case study, we apply the FLAVERS data flow analysis tool to pseudocode designs of the three way handshake connection establishment protocol and of the alternating bit protocol and prove that the behavior of the pseudocode is consistent with protocol behavioral requirement specifications. We show how FLAVERS is a particularly effective because it is computationally inexpensive, requires minimal human interaction, and is a general approach that can be applied incrementally until the desired accuracy is achieved. In addition, we show how assumptions about the environment in which a software system is executed can be incorporated into the analysis, using message losses as an example. We present experimental results and derive some guidelines about the classes of protocol requirement specifications that may be amenable to verification using FLAVERS.