Title :
Software model checking for distributed systems with selector-based, non-blocking communication
Author :
Artho, Cyrille ; Hagiya, Masami ; Potter, Richard ; Tanabe, Y. ; Weitl, Franz ; Yamamoto, Manabu
Author_Institution :
AIST/RISEC, Amagasaki, Japan
Abstract :
Many modern software systems are implemented as client/server architectures, where a server handles multiple clients concurrently. Testing does not cover the outcomes of all possible thread and communication schedules reliably. Software model checking, on the other hand, covers all possible outcomes but is often limited to subsets of commonly used protocols and libraries. Earlier work in cache-based software model checking handles implementations using socket-based TCP/IP networking, with one thread per client connection using blocking input/output. Recently, servers using non-blocking, selector-based input/output have become prevalent. This paper describes our work extending the Java PathFinder extension net-iocache to such software, and the application of our tool to modern server software.
Keywords :
client-server systems; formal verification; Internet protocol; Java PathFinder extension; blocking input-output; cache-based software model checking; client-server architectures; communication schedule; distributed systems; input-output cache; selector-based nonblocking communication; server software; socket-based TCP-IP networking; thread schedule; transport control protocol; Computer architecture; Java; Libraries; Message systems; Model checking; Servers; Software; caching; distributed systems; non-blocking input/output; selector-based input/output; software model checking; software verification;
Conference_Titel :
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on
Conference_Location :
Silicon Valley, CA
DOI :
10.1109/ASE.2013.6693077