Software model checking for distributed applications using hybridization of centralization and cache approaches - Hing, Ratana; Sharifah Mashita Syed Mohamad; Chan, Huah Yong (Penerbit Universiti Kebangsaan Malaysia, 2025)
Developing reliable distributed systems poses significant challenges due to the nondeterministic 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.