Article Info
Software Model Checking for Distributed Applications using Hybridization of Centralization and Cache Approaches
Hing Ratana, Sharifah Mashita Syed-Mohamad, Chan Huah Yong
Abstract
Developing reliable distributed systems poses significant challenges due to the non-deterministic nature of thread and process execution, as well as communication channels. Software model checking offers a means to verify system correctness by exhaustively analyzing all program execution paths. However, the existing bytecode model checker, capable of verifying multiple processes, suffers from computational overhead. This paper introduces Java PathFinder (JPF)-Nas-Hybrid (JNH), a novel model checker addressing these limitations. JNH employs a redesigned inter-process communication (IPC) model and integrates a scalable caching mechanism. The experimental results show that the hybridization of centralization with cache significantly reduces the computational overhead and improves verification performance as well. Additionally, the paper explores bug detection strategies, distinguishing between local and global bugs, and evaluates various search strategies to explore distributed program state spaces. In every case, the proposed method results in a smaller state space, fewer bytecode instructions, and a shallower search graph.
keyword
Distributed systems, Software model checking, Java PathFinder, Centralization approach, Cache-based approach
Area
Software Engineering and Technology

