Software model checking for distributed applications using hybridization of centralization and cache approaches

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. Howev...

Full description

Saved in:
Bibliographic Details
Main Authors: Hing, Ratana, Sharifah Mashita Syed Mohamad, Chan, Huah Yong
Format: Article
Language:en
Published: Penerbit Universiti Kebangsaan Malaysia 2025
Online Access:http://journalarticle.ukm.my/26165/1/20%20-.pdf
http://journalarticle.ukm.my/26165/
https://www.ukm.my/apjitm/
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.