• DocumentCode
    1171495
  • Title

    SeSFJava harness: service and assertion checking for protocol implementations

  • Author

    Elsharnouby, Tamer ; Shankar, A. Udaya

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Maryland, College Park, MD, USA
  • Volume
    22
  • Issue
    10
  • fYear
    2004
  • Firstpage
    2035
  • Lastpage
    2047
  • Abstract
    Many formal specification languages and associated tools have been developed for network protocols. Ultimately, formal language specifications have to be compiled into a conventional programming language and this involves manual intervention (even with automated tools). This manual work is often error prone because the programmer is not familiar with the formal language. So our goal is to verify and test the ultimate implementation of a network protocol, rather than an abstract representation of it. We present a framework, called services and systems framework (SeSF), in which implementations and services are defined by programs in conventional languages, and mechanically tested against each other. SeSF is a markup language that can be integrated with any conventional language. We integrate SeSF into Java, resulting in what we call SeSFJava. We present a service-and-assertion checking harness for SeSFJava, called SeSFJava harness, in which distributed SeSFJava programs can be executed, and the execution checked against services and any other correctness assertions. The harness can test the final implementation of a concurrent system. We present an application to a data transfer service and sliding window protocol implementation. SeSFJava and the harness has been used in networking courses to specify and test transmission control protocol-like transport protocols and service.
  • Keywords
    Java; formal languages; formal specification; program testing; transport protocols; SeSFJava harness; data transfer service; formal specification languages; markup language; network protocol implementation; service-and-assertion checking; services and systems framework; sliding window protocol; software testing; transmission control protocol; transport protocols; Application software; Computer languages; Formal languages; Formal specifications; Java; Markup languages; Programming profession; Software testing; System testing; Transport protocols; 65; Computer networks; formal languages; formal specifications; software testing; temporal logic; transport protocols;
  • fLanguage
    English
  • Journal_Title
    Selected Areas in Communications, IEEE Journal on
  • Publisher
    ieee
  • ISSN
    0733-8716
  • Type

    jour

  • DOI
    10.1109/JSAC.2004.836012
  • Filename
    1362714