Program Dependence Net and on-demand slicing for property verification of concurrent system and software

Zhijun Ding,Shuo Li,Cheng Chen,Cong He
DOI: https://doi.org/10.1016/j.jss.2024.112221
IF: 3.5
2024-10-06
Journal of Systems and Software
Abstract:When checking concurrent software using a finite-state model, we face a formidable state explosion problem. One solution to this problem is dependence-based program slicing, whose use can effectively reduce verification time. It is orthogonal to other model-checking reduction techniques. However, when slicing concurrent programs for model checking, there are conversions between multiple irreplaceable models, and dependencies need to be found for variables irrelevant to the verified property, which results in redundant computation. To resolve this issue, we propose a Program Dependence Net (PDNet) based on Petri net theory. It is a unified model that combines a control-flow structure with dependencies to avoid conversions. For reduction, we present a PDNet slicing method to capture the relevant variables' dependencies when needed. PDNet and its on-demand slicing in verifying linear temporal logic are used to significantly reduce computation cost. We implement a model-checking tool based on PDNet and its on-demand slicing and validate the advantages of our proposed methods.
computer science, theory & methods, software engineering
What problem does this paper attempt to address?