DocumentCode
3571224
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
fYear
2014
Firstpage
96
Lastpage
105
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Computing and Networking (CANDAR), 2014 Second International Symposium on
Type
conf
DOI
10.1109/CANDAR.2014.66
Filename
7052168
Link To Document