Affiliation:
1. University of Pennsylvania
2. Bell Laboratories
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference14 articles.
1. The Esterel synchronous programming language: design, semantics, implementation
2. Karthikeyan Bhargavan Carl A. Gunter Moonjoo Kim Insup Lee Davor Obradovic Oleg Sokolsky and Mahesh Viswanathan. Verisim: Formal analysis of network simulations August 2000. To appear in: International Symposium on Software Testing and Analysis. 10.1145/347324.347833 Karthikeyan Bhargavan Carl A. Gunter Moonjoo Kim Insup Lee Davor Obradovic Oleg Sokolsky and Mahesh Viswanathan. Verisim: Formal analysis of network simulations August 2000. To appear in: International Symposium on Software Testing and Analysis. 10.1145/347324.347833
3. Model checking for programming languages using VeriSoft
4. Specification-based testing of reactive software
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. EDSM-Based Binary Protocol State Machine Reversing;Computers, Materials & Continua;2021
2. Engineering with Logic;Journal of the ACM;2019-01-12
3. Modeling virtual channel to enforce runtime properties for IoT services;Proceedings of the Second International Conference on Internet of things, Data and Cloud Computing;2017-03-22
4. Constructing Mid-Points for Two-Party Asynchronous Protocols;Lecture Notes in Computer Science;2011
5. Distributed Diagnosis of Failures in a Three Tier E-Commerce System;2007 26th IEEE International Symposium on Reliable Distributed Systems (SRDS 2007);2007-10