Modular verification of the functional behaviour of a concurrent program remains a challenge. We propose a new way to achieve this, using histories, modelled as process algebra terms, to keep track of local changes. When threads terminate or synchronise in some other way, local histories are combined into global histories, and by resolving the global histories, the reachable state properties can be determined. Our logic is an extension of permission-based separation logic, which supports expressive and intuitive specifications. We discuss soundness of the approach, and illustrate it on several examples.
|Place of Publication||Enschede|
|Publisher||Centre for Telematics and Information Technology (CTIT)|
|Number of pages||25|
|Publication status||Published - 9 Mar 2015|
|Name||CTIT Technical Report Series|
|Publisher||University of Twente, Centre for Telematics and Information Technology (CTIT)|
- concurrent programsmodular verificationbehavioural specifications
- behavioural specifications
- Concurrent programs
- Modular Verification
Blom, S., Huisman, M., & Zaharieva, M. (2015). History-based Verification of Functional Behaviour of Concurrent Programs. (CTIT Technical Report Series; No. TR-CTIT-15-02). Enschede: Centre for Telematics and Information Technology (CTIT).