Title :
Software Model Checking of UDP-based Distributed Applications
Author :
Sebih, Nazim ; Weitl, Franz ; Artho, Cyrille ; Hagiya, Masami ; Tanabe, Yoshinori ; Yamamoto, Mitsuharu
Author_Institution :
Univ. of Tokyo, Tokyo, Japan
Abstract :
We extend exhaustive verification of networked applications to applications using the User Datagram Protocol (UDP). UDP maximizes performance by omitting flow control and connection handling. High-performance services often offer a UDP mode in which they handle connections internally for optimal throughput. However, because UDP is unreliable (packets are subject to loss, duplication, and reordering), verification of UDP-based applications becomes an issue. Even though unreliable behavior occurs only rarely during testing, it often appears in a production environment due to a larger number of concurrent network accesses. Our tool systematically tests UDP-based applications by producing packet loss, duplication, and reordering for each packet. It is built on top of net-Rio cache for the Java Path Finder model checker. We have evaluated the performance of our tool in a multi-threaded client/server application and detected incorrectly handled packet duplicates in a file transfer client.
Keywords :
client-server systems; formal verification; transport protocols; UDP-based distributed application; exhaustive verification; file transfer client; high-performance services; multithreaded client-server application; packet duplication; packet loss; packet reordering; software model checking; user datagram protocol; Java; Model checking; Packet loss; Protocols; Sockets; Software; Systematics; Java Path Finder; Software Model Checking; Testing of Distributed Systems; Unreliable Network IO; User Datagram Protocol;
Conference_Titel :
Computing and Networking (CANDAR), 2014 Second International Symposium on
DOI :
10.1109/CANDAR.2014.66