Automatic Verification of Pointer Data-Structure Systems for All Numbers of Processes [chapter]

Farn Wang
1999 Lecture Notes in Computer Science  
Real-world concurrent software may be implemented with any number of processes which are linked together to form complex and dynamic network configurations. We formally model such concurrent software as processes running algorithms on data-structures with pointers. We show that the verification problem of such algorithms is undecidable. A new automatic approximation method is then proposed to safely verify such algorithms. The central idea is to construct a finite collective image set (CIS)
more » ... h collapses reachable state representations for all implementations of all numbers of processes. Our collapsing scheme filters out unimportant information of system behaviors and results in CIS's with manageable space requirements. Analysis shows our method can automatically generate a CIS of size 1619 to verify that a version of Mellor-Crummy & Scott's algorithm preserves mutual exclusion for all numbers of processes.
doi:10.1007/3-540-48119-2_20 fatcat:snc7tb3webefxmy6ocadzeanra