Automatic verification of finite-state concurrent systems using temporal logic specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Texity of reachablility in distributed communicating processes
Acta Informatica
An introduction to Estelle: a specification language for distributed systems
Computer Networks and ISDN Systems - Special Issue: Protocol Specification and Testing
Introduction to the ISO specification language LOTOS
Computer Networks and ISDN Systems - Special Issue: Protocol Specification and Testing
Formal Methods for Protocol Testing: A Detailed Study
IEEE Transactions on Software Engineering
The CCITT-specification and description language SDL
Computer Networks and ISDN Systems
Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation
IEEE Transactions on Software Engineering
Design and validation of computer protocols
Design and validation of computer protocols
Data flow analysis of distributed communicating processes
International Journal of Parallel Programming
Properties of data flow frameworks: a unified model
Acta Informatica
A model of Ada programs for static deadlock detection in polynomial times
PADD '91 Proceedings of the 1991 ACM/ONR workshop on Parallel and distributed debugging
Automated Analysis of Concurrent Systems with the Constrained Expression Toolset
IEEE Transactions on Software Engineering
The Z notation: a reference manual
The Z notation: a reference manual
Protocol testing: review of methods and relevance for software testing
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Duplication, insertion and lossiness errors in unreliable communication channels
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Data flow analysis for verifying properties of concurrent programs
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Linear and structural event sequence analysis
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Validation, Verification, and Testing of Computer Software
ACM Computing Surveys (CSUR)
A note on reliable full-duplex transmission over half-duplex links
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Verification of a Multidestination Protocol Using Temporal Logic
Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification
Modeling a Network Protocol in AFFIRM and Ada
Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification
The Specification and Verification of a Connection Establishment Protocol Using Temporal Logic
Proceedings of the IFIP WG6.1 Second International Workshop on Protocol Specification, Testing and Verification
ADA, a well suited language for specification and implementation of protocols
Proceedings of the IFIP WG6.1 Fifth International Conference on Protocol Specification, Testing and Verification V
Protocol Description and Analysis Based on a State Transition Model with Channel Expressions
Proceedings of the IFIP WG6.1 Seventh International Conference on Protocol Specification, Testing and Verification VII
On Limits and Possibilities of Automated Protocol Analysis
Proceedings of the IFIP WG6.1 Seventh International Conference on Protocol Specification, Testing and Verification VII
Verification in XESAR of the Sliding Window Protocol
Proceedings of the IFIP WG6.1 Seventh International Conference on Protocol Specification, Testing and Verification VII
Coverage Preserving Reduction Strategies for Reachability Analysis
Proceedings of the IFIP TC6/WG6.1 Twelth International Symposium on Protocol Specification, Testing and Verification XII
Verification of a Reliable Net Protocol
Proceedings of the Second International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems
A Stubborn Attack On State Explosion
CAV '90 Proceedings of the 2nd International Workshop on Computer Aided Verification
Verifying General Safety and Liveness Propterties with Integer Programming
CAV '92 Proceedings of the Fourth International Workshop on Computer Aided Verification
Using Partial Orders for the Efficient Verification of Deadlock Freedom and Safety Properties
CAV '91 Proceedings of the 3rd International Workshop on Computer Aided Verification
Data flow analysis for verifying correctness properties of concurrent programs
Data flow analysis for verifying correctness properties of concurrent programs
Verification of concurrent software with FLAVERS
ICSE '97 Proceedings of the 19th international conference on Software engineering
Efficient composite data flow analysis applied to concurrent programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Effective whole-program analysis in the presence of pointers
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Using partial evaluation to enable verification of concurrent software
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Property specification patterns for finite-state verification
FMSP '98 Proceedings of the second workshop on Formal methods in software practice
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Model Checking Generic Container Implementations
Selected Papers from the International Seminar on Generic Programming
Implementation Techniques for Efficient Data-Flow Analysis of Large Programs
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Flow analysis for verifying properties of concurrent software systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Rule-based static analysis of network protocol implementations
Information and Computation
Finding bugs in network protocols using simulation code and protocol-specific heuristics
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Hi-index | 0.00 |
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.