Design and validation of computer protocols
Design and validation of computer protocols
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
TCP/IP illustrated (vol. 1): the protocols
TCP/IP illustrated (vol. 1): the protocols
Specification-based testing of reactive software: tools and experiments: experience report
ICSE '97 Proceedings of the 19th international conference on Software engineering
Automated packet trace analysis of TCP implementations
SIGCOMM '97 Proceedings of the ACM SIGCOMM '97 conference on Applications, technologies, architectures, and protocols for computer communication
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
End-to-end internet packet dynamics
IEEE/ACM Transactions on Networking (TON)
Bro: a system for detecting network intruders in real-time
Computer Networks: The International Journal of Computer and Telecommunications Networking
Verisim: Formal analysis of network simulations
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Implementing a Generalized Tool for Network Monitoring
LISA '97 Proceedings of the 11th Conference on Systems Administration
Passive testing and applications to network management
ICNP '97 Proceedings of the 1997 International Conference on Network Protocols (ICNP '97)
Timing UDP: Mechanized Semantics for Sockets, Threads, and Failures
ESOP '02 Proceedings of the 11th European Symposium on Programming Languages and Systems
The UDP Calculus: Rigorous Semantics for Real Networking
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Preventing Session Table Explosion in Packet Inspection Computers
IEEE Transactions on Computers
Proceedings of the 2005 conference on Applications, technologies, architectures, and protocols for computer communications
Formal Methods in System Design
Engineering with logic: HOL specification and symbolic-evaluation testing for TCP implementations
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated Online Monitoring of Distributed Applications through External Monitors
IEEE Transactions on Dependable and Secure Computing
Midpoints Versus Endpoints: From Protocols to Firewalls
ACNS '07 Proceedings of the 5th international conference on Applied Cryptography and Network Security
Constructing mid-points for two-party asynchronous protocols
OPODIS'11 Proceedings of the 15th international conference on Principles of Distributed Systems
Hi-index | 0.00 |
We consider the problem of monitoring an interactive device, such as an implementation of a network protocol, in order to check whether its execution is consistent with its specification. At rst glance, it appears that a monitor could simply follow the input-output trace of the device and check it against the specification. However, if the monitor is able to observe inputs and outputs only from a vantage point external to the device---as is typically the case---the problem becomes surprisingly difficult. This is because events may be bu ered, and even lost, between the monitor and the device, in which case, even for a correctly running device, the trace observed at the monitor could be inconsistent with the specification.In this paper, we formulate the problem of external monitoring as a language recognition problem. Given a specification that accepts a certain language of input-output sequences, we de ne another language that corresponds to input-output sequences observable externally. We also give an algorithm to check membership of a string in the derived language. It turns out that without any assumptions on the specification, this algorithm may take unbounded time and space. To address this problem, we de ne a series of properties of device specifications or protocols that can be exploited to construct e cient language recognizers at the monitor. We characterize these properties and provide complexity bounds for monitoring in each case.To illustrate our methodology, we describe properties of the Internet Transmission Control Protocol (TCP), and identify features of the protocol that make it challenging to monitor e ciently.