Rigorous specification and conformance testing techniques for network protocols, as applied to TCP, UDP, and sockets

dc.contributor.authorBishop, Steve
dc.contributor.authorFairbairn, Matthew
dc.contributor.authorNorrish, Michael
dc.contributor.authorSewell, Peter
dc.contributor.authorSmith, Michael
dc.contributor.authorWansbrough, Keith
dc.date.accessioned2015-12-13T22:58:09Z
dc.date.issued2005
dc.date.updated2015-12-12T07:21:26Z
dc.description.abstractNetwork protocols are hard to implement correctly. Despite the existence of RFCs and other standards, implementations often have subtle differences and bugs. One reason for this is that the specifications are typically informal, and hence inevitably contain ambiguities. Conformance testing against such specifications is challenging.In this paper we present a practical technique for rigorous protocol specification that supports specification-based testing. We have applied it to TCP, UDP, and the Sockets API, developing a detailed 'post-hoc' specification that accurately reflects the behaviour of several existing implementations (FreeBSD 4.6, Linux 2.4.20-8, and Windows XP SP1). The development process uncovered a number of differences between and infelicities in these implementations.Our experience shows for the first time that rigorous specification is feasible for protocols as complex as TCP. We argue that the technique is also applicable 'pre-hoc', in the design phase of new protocols. We discuss how such a design-for-test approach should influence protocol development, leading to protocol specifications that are both unambiguous and clear, and to high-quality implementations that can be tested directly against those specifications.
dc.identifier.issn0146-4833
dc.identifier.urihttp://hdl.handle.net/1885/83330
dc.publisherAssociation for Computing Machinery Inc (ACM)
dc.sourceSIGCOMM Computer Communications Review
dc.subjectKeywords: API; Conformance testing; Higher-order logic; HOL; Operational semantics; Sockets; TCP/IP; Computer operating systems; Electric connectors; Logic design; Specifications; Network protocols API; Conformance testing; Higher-order logic; HOL; Network protocols; Operational semantics; Sockets; Specification; TCP/IP
dc.titleRigorous specification and conformance testing techniques for network protocols, as applied to TCP, UDP, and sockets
dc.typeJournal article
local.bibliographicCitation.issue4
local.bibliographicCitation.lastpage276
local.bibliographicCitation.startpage265
local.contributor.affiliationBishop, Steve, University of Cambridge
local.contributor.affiliationFairbairn, Matthew, University of Cambridge
local.contributor.affiliationNorrish, Michael, College of Engineering and Computer Science, ANU
local.contributor.affiliationSewell, Peter, University of Cambridge
local.contributor.affiliationSmith, Michael, University of Cambridge
local.contributor.affiliationWansbrough, Keith, University of Cambridge
local.contributor.authoruidNorrish, Michael, u4087502
local.description.embargo2037-12-31
local.description.notesImported from ARIES
local.description.refereedYes
local.identifier.absfor080203 - Computational Logic and Formal Languages
local.identifier.ariespublicationMigratedxPub11576
local.identifier.citationvolume35
local.identifier.doi10.1145/1090191.1080123
local.identifier.scopusID2-s2.0-33847336583
local.type.statusPublished Version

Downloads

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
01_Bishop_Rigorous_specification_and_2005.pdf
Size:
322.01 KB
Format:
Adobe Portable Document Format