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...
Saved in:
| Main Authors: | , , |
|---|---|
| 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!
|
| 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. |
|---|
