Model checking distributed systems by combining caching and process checkpointing
Model checking distributed systems by combining caching and process checkpointing
复制标题
DOI:
10.1109/ase.2011.6100043
复制
发表时间:
2011-11
期刊:
影响因子:
--
通讯作者:
Watcharin Leungwattanakit;Cyrille Artho;M. Hagiya;Yoshinori Tanabe;M. Yamamoto
中科院分区:
文献类型:
--
作者:
Watcharin Leungwattanakit;Cyrille Artho;M. Hagiya;Yoshinori Tanabe;M. Yamamoto
Verification of distributed software systems by model checking is not a straightforward task due to inter-process communication. Many software model checkers only explore the state space of a single multi-threaded process. Recent work proposes a technique that applies a cache to capture communication between the main process and its peers, and allows the model checker to complete state-space exploration. Although previous work handles non-deterministic output in the main process, any peer program is required to produce deterministic output. This paper introduces a process checkpointing tool. The combination of caching and process checkpointing makes it possible to handle non-determinism on both sides of communication. Peer states are saved as checkpoints and restored when the model checker backtracks and produces a request not available in the cache. We also introduce the concept of strategies to control the creation of checkpoints and the overhead caused by the checkpointing tool.